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

Ajax POST fails, but works in console

本文关键字:控制台 工作 但可以 POST 失败 Ajax      更新时间:2023-09-26

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

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:另一个问题是window.location在ajax调用执行完成之前被调用,所以它被移到了一个由success 调用的函数

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

ready函数包装代码,或者将javascript移动到页面末尾。

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