jQuery ajax没有将发布变量发送到Wordpress

时间:2019-01-16 22:30:06

标签: php jquery ajax wordpress

我正在尝试获取表单数据,并通过ajax调用将其发送到wordpress。 调用通过,但变量未到达php脚本。 为什么会这样?

我已经检查过,formData包含一个变量。

这是我的js:

$(document).ready(function() {
    $('form').submit(function(event) {
        var formData = {'title': $('input[name=title]').val() };
        $.ajax({
            url: '<?php echo  admin_url( 'admin-ajax.php' );?>',
            data: {
                action     : 'my_ajax_action',
                data  : formData,
            },
            success:function(data) {
                console.log(data);
            },
            error: function(errorThrown){
                console.log(errorThrown);
            },
        });
    event.preventDefault();
    });
});

这是我的php:

add_action( 'wp_ajax_my_ajax_action', 'my_ajax_action_callback' );
function my_ajax_action_callback(){
    $title =isset( $_POST['data'] ) ? $_POST['data'] : 'N/A';
    echo $title;
    die();
}

1 个答案:

答案 0 :(得分:2)

默认的jQuery ajax方法是GET,所以也许这是您的问题?尝试在选项中添加方法:“ POST”:

$.ajax({
  method: 'POST',
  ... etc