Ajax 调用不应等待响应

vis*_*ssu 3 ajax

我在经典的 asp 应用程序中使用 ajax 调用来执行存储过程。
但我不想等到存储过程运行(存储过程大约需要 5-10 分钟才能完成。)。
Ajax 必须调用存储过程并需要立即返回。
我希望 Ajax 调用不应等待响应。

这是我的代码片段:

1)  $.ajax({  
  type: "POST",  
  url: "runstoredprocedure.asp",  
});    
2)  setInterval(function(){  jQuery("#list").trigger("reloadGrid"); },10000);  
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的两个 ajax 调用。第一个运行大约 5-7 分钟。在第一个完成之前,第二个不会触发。但是我需要立即调用第二个 ajax 调用。

任何人都可以帮助我解决这个问题。

Baz*_*nga 5

javascript 作为不同线程的一部分触发请求,并且在您的 ajax 调用之后的任何代码都将立即执行。说了一个关于 JS async 的误解:

People take for granted that because it’s asynchronous, it’s a thread. They are partially right. There must be a thread created by the browser to keep the javascript running while it makes a request to the server. It’s internal and you don’t have access to that thread. But, the callback function called when the server responds to the ajax request is not in a thread.

I’ll explain clearer. If javascript runs some code that takes 5 seconds to execute and an ajax response arrives at 2 seconds, it will take 3 seconds before it will be executed (before the callback function is called). That’s because javascript itself doesn’t create a thread to execute the ajax response from the server and simply waits that all executions are terminated before starting a new one.

So if you’re running a lot of ajax requests simultaneously, you might get some weird behavior because they will all wait one on another before executing themselves.
Run Code Online (Sandbox Code Playgroud)

最后一句与您的事业有关。

摘自博客:http : //www.javascriptkata.com/2007/06/04/ajax-and-javascript-dont-use-threads/

有趣的阅​​读:http : //www.javascriptkata.com/2007/06/12/ajax-javascript-and-threads-the-final-truth/