【发布时间】:2011-12-16 17:23:54
【问题描述】:
据我所知,$.ajax 在每个浏览器中一直运行得非常顺利,直到现在。
我有一个非常简单的函数,当用户发生一些操作时调用。
在 Firefox 中,一切运行顺利。但是在 Chrome 中,当 $.ajax 请求启动时,成功的回调不会触发。
这是实际的 sn-p:
var form = $("#templateCreator"),
formType = form.attr("method"),
formData = form.serialize(),
action = form.attr('action');
$.ajax({
type: formType,
url: action,
data: formData,
success: function(){
console.log('Can\'t see me in Chrome, but ok in firefox !')
// Handle all form submit events to form validator first
validator(form, targetInput);
}
});
令人费解的是似乎没有任何问题,数据被序列化并正确发送。有谁知道我错过了什么?
【问题讨论】:
-
您是否尝试过记录 AJAX 调用中使用的变量的值 (
formType/formData/action)?您是依靠validator()函数运行来验证它是否有效,还是尝试将console.log()作为success回调的第一行? -
本地主机?如果是真的那为什么它不起作用。 Chrome 不允许本地主机上的 AJAX
-
@AndreasAL,你做错了本地主机。
-
捕获错误状态可能会很有用,而不仅仅是成功,只是说......良好的做法等等。
-
我唯一能想到的调试方法是设置
complete和error回调函数以通过回调参数诊断问题。
标签: ajax google-chrome jquery