Ajax XMLHttpRequest对象重用或新实例

Ajax XMLHttpRequest对象重用或新实例,ajax,dom,error-handling,javascript,Ajax,Dom,Error Handling,Javascript,我有一个导致“无效状态错误:DOM异常11”的场景,我认为这是一个架构javascript问题: 我必须对一些后端端点“触发”四个连续的ajax调用 就像: oXHR = new XMLHttpRequest(); 第一个请求的标头设置: oXHR.setRequestHeader('X-CUSTOM-HEADER','1') 第一次同步打开并发送: oXHR.open('POST',firstUrl,false) 上面的行应阻止下一次发送,该发送还必须更改标头: oXHR.setReque

我有一个导致“无效状态错误:DOM异常11”的场景,我认为这是一个架构javascript问题:

我必须对一些后端端点“触发”四个连续的ajax调用

就像:

oXHR = new XMLHttpRequest();
  • 第一个请求的标头设置:

    oXHR.setRequestHeader('X-CUSTOM-HEADER','1')

  • 第一次同步打开并发送:

    oXHR.open('POST',firstUrl,false)

  • 上面的行应阻止下一次发送,该发送还必须更改标头:

    oXHR.setRequestHeader('X-other-HEADER','2')

    oXHR.open(方法,secondUrl,true)

  • 然后另一个同步打开并发送,就像第一个:

    oXHR.setRequestHeader('X-CUSTOM-HEADER','1')

    oXHR.open('POST',firstUrl,false)

  • 在上一个阻塞请求之后,最后一个异步请求:

    oXHR.setRequestHeader('X-ANOTHERCUSTOM-HEADER','7')

    oXHR.open(方法,secondUrl,true)

目前我使用的是同一个oXHR对象; 您能否为涉及包装此类同步/异步请求的可伸缩体系结构提供反馈


Alex

您可以尝试使用一些JS框架,而不是本机XMLHttpRequest对象。拥有非常方便的ajax api

在调用
之前,您无法设置请求头。open
不幸的是,我必须自己完成,jQuery被从我们的小项目中驱逐出去:)