首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

jquery 的 ajax 同步调用方式的超时是如何指定的?

  •  
  •   wubo19842008 · 2014-09-24 10:40:31 +08:00 · 7409 次点击
    这是一个创建于 1613 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在调用jquery的ajax功能时候,如果设置async 为true则进行同步请求方式,但是这样jquery设置的timeout就失效了,而且同步下这个超时应该是10s,但是这个10s是什么地方指定的?
    stackoverflow上有一个解释了同步ajax是不支持timeout设定的:
    http://stackoverflow.com/questions/7919881/why-dont-synchronous-ajax-calls-in-jquery-support-timeout
    但是这个10s是哪里设置的?
    第 1 条附言  ·  2014-09-24 11:28:21 +08:00
    测了下桌面版的chrome和ff,都可以在同步情况下等待10s然后返回,移动版浏览器也不太一样,ios版本的Safari会在10s内返回,但是在android的微信浏览器里是可以超过10s的等待
    3 回复  |  直到 2014-09-24 17:49:45 +08:00
        1
    klam   2014-09-24 10:52:14 +08:00
    没看懂...

    `async` 的意思是异步,设置为true即是异步请求ajax(默认就是true),如果你想通过同步方式,设置为false。

    timeout是有接口的,和success/error一样,传一个数值进去就可以了:{timeout: 10000}
        2
    wubo19842008   2014-09-24 11:06:53 +08:00
    @klam
    async:true的情况下,有些浏览器是不支持的,我测试了ios下的safari,即使设置了timeout,比如设置了30*1000,那么还是会在10s的时候返回超时: dom exception 23
        3
    klam   2014-09-24 17:49:45 +08:00
    @wubo19842008
    没做过移动开发
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2148 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 13ms · UTC 10:44 · PVG 18:44 · LAX 02:44 · JFK 05:44
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1