【问题标题】:Ajax call in WPWP中的Ajax调用
【发布时间】:2019-07-22 07:19:20
【问题描述】:

我正在创建一个按钮来向登录用户的分支发送电子邮件。 为了开始编码,我需要成功发送一个 AJAX 调用,触发 AJAX 对象的“成功”方法。

我已经读到正确的方法如下,使用 wp_localize() 函数使 admin-ajax.php 文件 URL 在我的 Javascript 中可用。但它不起作用。

我已经测试了 enquiry() 函数被成功调用,所以脚本被正确地排队了。

这是我的 PHP 插件代码:

add_action('woocommerce_after_add_to_cart_button','ajax_register_script');
function ajax_register_script()
{
    wp_register_script('mailer-script', plugins_url('/ajax-script.js', __FILE__),
        array('jquery'), '1.0', true);
    wp_enqueue_script('mailer-script', plugins_url('/ajax-script.js', __FILE__),
        array('jquery'), '1.0', true);
    wp_localize_script( 'mailer-script', 'mailer_ajax', 
        array( 'ajax_url' => admin_url('admin-ajax.php')) );
}


add_action('woocommerce_after_add_to_cart_button', 'button_function', 45);

function button_function()
{
    echo "<div class='unique' id='mail-button' onclick='enquiry()'>
  Not sure of your prescription? Click to be contacted</div>";
}

这是我的 JS:

function enquiry() {

  $.ajax({
         url: mailer_ajax.ajax_url,
         type: 'post',
         data: {
            action: 'go',
           },
        success: function () {
             document.getElementById('mail-button').innerHTML =  "Thankyou for your enquiry, an email has been sent to your branch. You will be contacted shortly";
        },

    })
};

非常感谢您的任何见解。

【问题讨论】:

  • 您到底想做什么?您在这里遇到什么问题,到目前为止您尝试过什么?
  • 我想让 'success ' 方法因成功的 AJAX 调用而触发。抱歉,如果不清楚。将编辑
  • 经过大量整理和重构后,我的代码正在运行。我希望我确切地知道问题出在哪里,因为原则上上述似乎是正确的。 rams0610 对这个问题的回答给了很大的帮助。 stackoverflow.com/questions/17855846/…

标签: javascript php ajax wordpress


【解决方案1】:

经过大量整理和重构后,我的代码正在运行。
我希望我确切地知道问题出在哪里,因为原则上上述似乎是正确的。 rams0610 对这个问题的回答给了很大的帮助。

Using AJAX in a WordPress plugin

【讨论】:

    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多