Ajax POST失败,但在控制台中工作

时间:2014-09-04 14:44:40

标签: javascript ajax

下面的ajax函数失败,并显示一条错误消息,表示"错误" (非常有用):

var form = formInfo;
var url = $(formInfo).attr("action");
var data = $(formInfo).serialize();
$.ajax({
            type: "post",
            url: url,
            data: data,
            dataType: "text",
            **cache: false,**
            success: function (r) {
              //do stuff here
            }, error: function (r) {
              //do some logging stuff here
            }
 });

对我来说没有意义的是,如果我通过控制台执行相同的ajax调用,它会成功发布。此外,如果我在ajax调用上设置断点并通过后端代码进行调试,那么帖子就会成功。关于可能导致此错误的任何想法?

编辑:似乎问题在于缓存,并添加缓存:false实际上修复了问题 编辑2:另一个问题是在ajax调用执行完毕之前调用了window.location,因此它被移动到成功调用的函数

1 个答案:

答案 0 :(得分:0)

当您提出请求时,您的表单可能尚未加载。

将您的代码包裹在ready函数中,或者只是将您的javascript移到页面末尾。

$(document).ready(function () {
    //your code here
});