FF&Chrome下使用 JQuery ajax 请求的灵异事件。求解

denken1015 2010-07-28 03:35:05
今天再写代码时发现 当将浏览器的代理设置成一个错误的代理时,使用JQuery框架的 ajax 方法 发送ajax请求时出现执行Success方法。并且只在FF 和 Chrome下出现 IE 则正常执行ERROR 方法。
Ajax调用代码如下

$.ajax(
{
url: horoscopeUrl,
cache: true,
timeout: settings.timeout,
success: function(content)
{
displayContent(content);
setZodiacSign(zodSign);
},
error: function()
{
displayContent(settings.serviceErrorMsg);
}
});


按照正常思维 当将浏览器的代理设置成一个不存在的代理时,Ajax请求应该返回Error并且执行代码中定义的ERROR function但是在FF 和 Chrome下 却执行 Success 方法 。向高手求解。
...全文
370 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
beowulf2005 2010-12-28
  • 打赏
  • 举报
回复
hoojo 2010-07-28
  • 打赏
  • 举报
回复
你看看在浏览器中请求错误的代理页面,ff会返回什么?
可能是ff做了处理,只能说明ff在请求这个代理url的时候并没有发生异常信息
denken1015 2010-07-28
  • 打赏
  • 举报
回复
因为设了错误的proxy。。所以真正的ajax请求的URL 相当于不存在的 或者说是访问不到的。。。也不是timeout的原因。如果是这些原因的话IE下面也会有同样的问题 ,现在的关键是IE 正常 FF chrome 不正常。。。访问不到 ajax请求的URL 时居然执行 success 。。。
l6801567 2010-07-28
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
denken1015 2010-07-28
  • 打赏
  • 举报
回复
不是 catch的原因 。。。。我试过了。
真哥哥 2010-07-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zoujp_xyz 的回复:]
url: horoscopeUrl+'?'+new Date().getTime() ,//加上个随机数试试
cache: false,
[/Quote]
看这行不,不行的话把timeout: settings.timeout,去掉
Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。
zoujp_xyz 2010-07-28
  • 打赏
  • 举报
回复
url: horoscopeUrl+'?'+new Date().getTime() ,//加上个随机数试试
cache: false,
jianshao810 2010-07-28
  • 打赏
  • 举报
回复
Chrome 没用过。
但是你的标题太奇怪啦。。呵呵
xandercheng 2010-07-28
  • 打赏
  • 举报
回复
等候高手!
ajccom 2010-07-28
  • 打赏
  • 举报
回复
帮顶!!!
hlq_zist 2010-07-28
  • 打赏
  • 举报
回复
是不是之前有访问记录,我这里FF,Chrome都会转到error函数的。

你这里的cache=true~~~
denken1015 2010-07-28
  • 打赏
  • 举报
回复
100分啊 为什么没人鸟我,继续3方语言查找中
denken1015 2010-07-28
  • 打赏
  • 举报
回复
自己顶一下,中英日各种语言google中。。。。仍然无解。。

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧