我正在使用JQuery从URL中获取信息并异步显示在我的页面上。该URL来自其他域,因此我使用JSONP来获取数据。很好
但是,当远程URL关闭时(偶尔发生),我的页面挂起,因为JQuery AJAX没有调用“成功”或“错误”功能。
我正在使用JQuery 1.7。
我的代码如下:
$.ajax({ type : "GET", url : "http://otherdomain.com/somePage.html", data : params, dataType : "jsonp", jsonp : "jsonp", success : function (response, textS, xhr) { alert("ok"); }, error : function (xmlHttpRequest, textStatus, errorThrown) { alert("not ok " + errorThrown); } });
如果“ somePage”启动,那么我会看到消息“确定”。如果“ somePage”无法访问,那么我什么也看不到。
关于如何获取“错误”功能的任何想法都会被调用?或更重要的是,如何检测跨域URL是否可访问?
那有可能吗?
谢谢,
添加一个 timeout
timeout
$.ajax({ type : "GET", url : "http://otherdomain.com/somePage.html", data : params, timeout:3000, dataType : "jsonp", jsonp : "jsonp", success : function (response, textS, xhr) { alert("ok"); }, error : function (xmlHttpRequest, textStatus, errorThrown) { alert("not ok " + errorThrown); if(textStatus==='timeout') alert("request timed out"); } });