首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress AJAX表单

Wordpress AJAX表单
EN

Stack Overflow用户
提问于 2018-12-11 04:59:40
回答 1查看 44关注 0票数 0

我有一个最奇怪的问题,我感觉我错过了一些简单的东西。我正在尝试通过Wordpress和AJAX处理表单。但是当指向正确的url时,它会给我一个400错误。我有一种感觉,我有我的动作设置错误或什么。处理函数是同一个类中的一个方法,称为process_registration_form。

代码语言:javascript
复制
//JS
$('#user-registration').submit(function(e){
        e.preventDefault();

        var registrationForm = jQuery(this).serialize();

        jQuery.ajax({
          action:  'tribe_process_registration_form',
          type:    "POST",
          url:     tribe_process_user_registration.ajaxurl,
          data:    registrationForm,
          success: function(data) {
             console.log(data);
             //jQuery("#feedback").html(data);
          }
        });
});


//PHP
wp_enqueue_script( 'tribe_process_user_registration', plugin_dir_url( __FILE__ ) . 'js/tribe-product-gifting-public.js', array( 'jquery' ) );
wp_localize_script( 'tribe_process_user_registration', 'tribe_process_user_registration', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );

add_action('wp_ajax_tribe_process_user_registration', array($this,'process_registration_form'));
add_action('wp_ajax_nopriv_tribe_process_user_registration', array($this,'process_registration_form'));
EN

回答 1

Stack Overflow用户

发布于 2018-12-11 14:05:54

我不认为上面的代码中有任何问题,但我可能遗漏了一些东西。下面是我进行ajax调用的方法。

使用wp函数将脚本文件入队。

代码语言:javascript
复制
wp_enqueue_script( 'pc-frontend-js', plugins_url( 'Scripts/front-end.js', __FILE__ ), false );

   wp_localize_script( 'pc-frontend-js', 'pc_var_arguments', array(
          'woopb_nonce' => wp_create_nonce('woopb_nonce'),
          'ajax_url' => admin_url('admin-ajax.php')
      )
   );

Ajax调用

代码语言:javascript
复制
function callback_function(quantity) { 
    var condition = 'ajax_callback_condition'; 
    jQuery.ajax({
        url:  pc_var_arguments.ajax_url, 
        type : 'post',
        dataType: 'json',
        data : {
            action : 'ajax_callback_action',
            condition :condition,
            data : data,
        },
        success : function(response) {
            console.log(response);
        }   
    }); 
};

ajax的挂钩

代码语言:javascript
复制
 add_action( 'wp_ajax_ajax_callback_action', array($this,'callback_function' ));
        add_action( 'wp_ajax_nopriv_ajax_callback_action', array($this,'callback_function' ));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53713563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档