未捕获的TypeError:发送AJAX中的非法调用

时间:2016-01-27 15:43:22

标签: jquery ajax

我在名为reasons的变量中获取已检查的输入,并且我希望在AJAX请求中发送withdrawalIdreasons。这是我的代码:

$('body').on('click','#submitreason', function () {
    var wdid = $('.modal').attr('id');
    var reasons = $('input:checked').map(function () {
        return $(this).val();
    });

    $.ajax({
        type: "POST",
        url: ajax_url,
        dataType: 'json',
        data: {
            withdrawalid: wdid,
            reasons : reasons
        },
        success: function(data) {
            if (data == 'success') {
            } else  {
            }
        }
    });
});

当我尝试发送AJAX请求时,出现错误;我认为这个问题是因为reasons变量;

var reasons = $('input:checked').map(function () {
    return $(this).val();
});

当我添加dataproccess = false;时,会发送[object object]的数据,并且每当我使用var_dump($_POST)时回复都为空。

任何想法是什么问题?

1 个答案:

答案 0 :(得分:0)

您需要使用get()map()检索整数值数组:

var reasons = $('input:checked').map(function () {
    return $(this).val();
}).get();

有关两者之间差异的示例,请参阅this fiddle