• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wubo19842008
V2EX  ›  程序员

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

  •  
  •   wubo19842008 · Sep 24, 2014 · 10593 views
    This topic created in 4262 days ago, the information mentioned may be changed or developed.
    在调用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是哪里设置的?
    Supplement 1  ·  Sep 24, 2014
    测了下桌面版的chrome和ff,都可以在同步情况下等待10s然后返回,移动版浏览器也不太一样,ios版本的Safari会在10s内返回,但是在android的微信浏览器里是可以超过10s的等待
    3 replies    2014-09-24 17:49:45 +08:00
    klam
        1
    klam  
       Sep 24, 2014
    没看懂...

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

    timeout是有接口的,和success/error一样,传一个数值进去就可以了:{timeout: 10000}
    wubo19842008
        2
    wubo19842008  
    OP
       Sep 24, 2014
    @klam
    async:true的情况下,有些浏览器是不支持的,我测试了ios下的safari,即使设置了timeout,比如设置了30*1000,那么还是会在10s的时候返回超时: dom exception 23
    klam
        3
    klam  
       Sep 24, 2014
    @wubo19842008
    没做过移动开发
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3179 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:09 · PVG 21:09 · LAX 06:09 · JFK 09:09
    ♥ Do have faith in what you're doing.