如下代码所示,http://localhost/abc.aspx页面并不存在,如果按照 下面的代码去执行,可以进行错误处理。
但是如果把后面一行://var url = "http://localhost/abc.aspx?jsoncallback=?";的注释去掉,即支持jsonp,那就不能进行错误处理了。请问有何办法??? 谢谢!!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
</head> <body>
<script>
$(function(){
var url = "http://localhost/abc.aspx"; //这个url地址是不存在的
//var url = "http://localhost/abc.aspx?jsoncallback=?";
$.ajaxSetup({
error:function(x,e){
alert("error");
return false;
}
});
$.getJSON(url , function(data){
alert(data);
});
});
</script>
</body>
</html>
但是如果把后面一行://var url = "http://localhost/abc.aspx?jsoncallback=?";的注释去掉,即支持jsonp,那就不能进行错误处理了。请问有何办法??? 谢谢!!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
</head> <body>
<script>
$(function(){
var url = "http://localhost/abc.aspx"; //这个url地址是不存在的
//var url = "http://localhost/abc.aspx?jsoncallback=?";
$.ajaxSetup({
error:function(x,e){
alert("error");
return false;
}
});
$.getJSON(url , function(data){
alert(data);
});
});
</script>
</body>
</html>
解决方案 »
- 明天毕业答辩,设计的系统出了点问题,高手进~~~~三大框架
- 怎么得到textarea中的img内容
- 谁能帮忙写个注解啊,刚学,还不太明白.
- firefox中onclick无效
- 求一百分比的正则表达式?
- 我有一字符串 var str="abc|CSDN"; var test="wdfdfd|MSDN" 我想取到|线前面的,也就是,abc,wdfdfd.JS脚本有好方法吗?比如像C#里面的sp
- 急!再线等!解决马上给分!(初学问题)
- 通过js连接odbc?
- 如何实现树状结构?
- js中如何控制li个数{求教}
- JS递归 循环 高手帮帮看看
- Ext 菜单纵向滚动条 没作用,拉不到最下面。超过整个页面就不能显示?
不管打印的问题,我这想法完全有可能,比方说我这个url地址是个配置项,如果系统配置错误那需要提出个友好提示,要不然用户一直看到那个loading...没反应,还以为程序太慢了呢。
另外如果这个url的服务页面代码有异常错误(没预料到的异常,不在try..catch内),也会一直loading...所以我是想在js调用url服务时捕获到异常错误,给出提示。
如果使用var url = "http://localhost/abc.aspx";可以捕获到异常,能满足我的要求;
但如果使用var url = "http://localhost/abc.aspx?jsoncallback=?";却不行。所以有此这问..
<script type="text/javascript">
//<![CDATA[
$(function(){
var url = "http://localhost/abc.aspx"; //这个url地址是不存在的
var url = "http://localhost/abc.aspx?jsoncallback=test";
$.ajaxSetup({
error:function(x,e){
alert("error");
return false;
}
});
$.getJSON(url , function(data){
alert(data);
});
});
//]]>
</script>测试没有问题,“jsoncallback=?” 你想如何?
to stayalive:
那代码是没错,但执行没有符合代码应该要的结果
“jsoncallback=?” 你想如何?------这样支持jsonp形式的回调,jquery会自动加上一个:jsonp+随机数to theforever:
我这个url 参数是个配置项,可能是var url="<%=ServerConfigUrl%>",但如果用户配置错误了,那这段程序会执行到$.ajaxSetup中的error函数,但上面代码却没有弹出error的错误提示,说明没达到要求。
总的意思就是我在调用$.getJSON请求后台服务时,需要捕获一切错误信息,给用户一个友好的提示:
1、如果var url="<%=ServerConfigUrl%>"配置错误了,那要捕获错误,给出提示。
2、如果后台服务出现未意料到的代码异常,那就会抛个500 Internal Server Error,这时按正常情况,js端没反应,但我也要捕获到并给出个友好提示
想了解我意思的可以看以下网址,这个就正如var url = "http://localhost/abc.aspx"; 的形式,能达到要求,给出错误提示。但如果是jsonp格式var url = "http://localhost/abc.aspx?jsoncallback=?";那就捕获不到错误异常了。
http://www.maheshchari.com/jquery-ajax-error-handling/
1、
使用var url = "http://localhost/abc.aspx?jsoncallback=?";格式,请求的是这样的地址:
http://localhost/abc.aspx?....&jsoncallback=jsonp1275275068754&_=1275275069984
返回的是:
jsonp1275275068754({error:false,....})但如果把localhost这个站点停掉,却捕获不到异常错误。2、
如果使用var url = "http://localhost/abc.aspx"; 格式,再把localhost站点停掉,能捕获错误执行到alert("error");3、
如果指定jsonp函数名,如:var url = "http://localhost/abc.aspx?jsoncallback=jsoncallbackfunction";,停掉localhost站点,能捕获错误执行到alert("error");但不停掉localhost站点,按理应该要返回正常的结果,但在在firebug上看到的是403 Forbidden错误。