检查jQuery AJAX请求状态

mTu*_*ran 3 javascript ajax jquery

我通过jQuery做2个不同的ajax请求,我必须检查另一个是否有效.我怎样才能做到这一点 ?

我的ajax请求中的一个示例:

active_project_categories_ajax = $.ajax(
{
    url: "/ajax/get_skill_list",
    dataType: 'json',
    ......
});
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西:active_project_categories_ajax.status()

nop*_*ole 5

既然你要回到XMLHttpRequest对象,你总能看到

active_project_categories_ajax.readyState
active_project_categories_ajax.status
Run Code Online (Sandbox Code Playgroud)

readyState需要为4才能完成(成功或错误).所以如果它小于4,那么它仍然是活跃的.

这是readyState:

// states
  const unsigned short UNSENT = 0;
  const unsigned short OPENED = 1;
  const unsigned short HEADERS_RECEIVED = 2;
  const unsigned short LOADING = 3;
  const unsigned short DONE = 4;
Run Code Online (Sandbox Code Playgroud)

引用自:http://www.w3.org/TR/XMLHttpRequest/#the-xmlhttprequest-interface

在readyState变为4之前,您无法查看状态.否则可能会引发异常.(实际上,我写了一个返回1MB数据的php文件......当readyState为3时,状态也是200.如果readyState也停在2,我怀疑状态为200).