我有一个简单的Ajax调用:
$.ajax({url: my_url_here,
dataType: 'text',
success: function(data, textStatus) {
if(textStatus == "success") {
alert('success');
}
else {
alert('fail');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//do stuff
}
});
如果我跑这一个简单的HTML文件,我得到预期的警报。 但是,如果我在我的一个ASP.NET MVC视图中运行这个,ajax运行正常,但回调函数永远不会到达。 我已经尝试创建一个空白的查看页面,除了jQuery和这个脚本之外什么都没有,排除与我其他Javascript的任何冲突。
我可以在Firebug中看到请求,并且它按照预期返回200响应,但它只是没有达到回调。
我曾尝试加入cache: false
paramater,与asynch
paramater发挥各地,似乎没有这样的伎俩......
任何线索?
编辑: 更新我的jQuery的错误回调建议。达到在View页面,(而不是在简单的HTML测试页但是)
错误回调,我也得到了以下内容:
XMLHttpRequest.status为“0”
textStatus是“错误”
errorThrown是“不确定”
EDIT 2 我要指出,我请求实际上并不返回任何网址,我只是想瑟如果它存在 - 如果我在浏览器中查看URL,它会显示一个简单的文本字符串。我是否使用了错误的方法?
为什么它会在一个简单的HTML文档中正常工作,但不在ASP.NET MVC视图中? ASP是否对ajax请求做了些什么?
编辑3
因此,原来我试图访问外部站点,这是不允许的。
似乎很奇怪,我在做从简单的测试HTML文件,罚款,我只用时查看页面...
更新OP-这是一个很好的建议!错误回调现在在视图页面中调用,但不是在html测试页面 – elwyn 2010-02-11 21:54:00
尝试更新的答案.. – 2010-02-11 22:12:02
这并没有解决它。是否可能是这样的: http://stackoverflow.com/questions/872206/http-status-code-0-what-does-this-mean-in-ms-xmlhttp – elwyn 2010-02-11 22:18:55