Ajax POST失败,但可以在控制台中工作
Ajax POST fails, but works in console
下面的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
});
相关文章:
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- 控制台.log在 setInterval 中无法为 Tampermonkey 工作
- 如何让JavaScript控制台用户输入工作(node.js)
- 当控制台不在't在chrome中打开,有些项目不再可点击(有些js调用停止工作)
- addEventListener工作's,但控制台发送警告
- 登录控制台可以工作,但会立即导致TypeError
- ActiveX 仅在激活 IE 9 控制台时工作
- 无法获得控制台.log在 CasperJS 中评估内部工作
- 火狐插件控制台.log() 不工作
- Chrome - JavaScript 控制台无法正常工作
- JS仅在控制台.log之后工作
- javascript 的 document.getElementById 返回 null,但从控制台工作
- JSON.解析不能在代码中工作,但在开发人员控制台工作得很好
- 传单.addlayer()在功能上失败,在控制台工作
- 代码在控制台工作,但加载网站时不工作
- MarginLeft不工作在IE/Firefox内的功能(但从控制台工作)
- jwplayer getDuration在chrome控制台工作,但不能在c#与IJavaScriptExecutor
- JS代码在控制台工作,不像普通的web代码那样工作
- 文档准备好了,页面加载时没有击中,但它使用开发人员工具控制台工作
- AngularJS数组不是在View Load加载,而是在警报/控制台工作