jQuery $ .post返回"超出最大调用堆栈大小"

时间:2017-05-17 23:51:19

标签: jquery ajax post

在jquery

中执行ajax帖子时,堆栈大小超出错误
$('#challengeForm').submit(function(e) {
    var ajaxUrl = admin.ajax_url;
    var emailInput = $(this).find('input[name="email"]');
    var formId = $(this).find('input[name="formId"]');
    $.post(ajaxUrl,{action:'challengeFormSubmit',email:emailInput,listId:formId},function(data) {

        console.log(data);

    },'json');
    e.preventDefault();
});

我运行了一些console.log调试,发现错误是在$.post调用的。

2 个答案:

答案 0 :(得分:2)

您应该使用值(而不是对象):

$('#challengeForm').submit(function(e) {
    var ajaxUrl = admin.ajax_url;
    var emailInput = $(this).find('input[name="email"]').val();
    var formId = $(this).find('input[name="formId"]').val();
    $.post(ajaxUrl,
        {
            action:'challengeFormSubmit',
            email:emailInput,
            listId:formId
        },
        function(data) {
            console.log(data);
        },
        'json'
    );
    e.preventDefault();
});

答案 1 :(得分:0)

您的功能正在重新提交。请尝试以下方法:

  1. e.preventDefault();移至功能顶部。
  2. 使用return false;
  3. 结束此功能