如何在 EXT JS 中发出同步 ajax 请求?
例如,给定这段代码:
test1();
ajaxRequest(); //Ajax Request
test2();
test2 函数的执行甚至没有完成 ajaxRequest()
的执行,它有一个 Ext.Ajax.request
调用。
如何让 text2()
只在 ajaxRequest()
函数执行后执行?
我知道这样做的一种方法是在回调中调用 test2
函数,但是我有一些依赖项和很多代码必须在 ajax 请求之后执行,在同步方式。你能帮我找到最好的解决方案吗?
最佳答案
我需要类似的东西,在查看了 Ext.Ajax.request()
和 Ext.data.Connection
的源代码后,我发现它们会检查一个 async
属性,在 request()
方法上,因此,实际上可以发出同步请求,如下所示:
var response = Ext.Ajax.request({
async: false,
url: 'service/url'
});
var items = Ext.decode(response.responseText);
async
属性似乎没有记录,所以……当然……请注意它可能会在未来的版本中发生变化。
关于javascript - EXT Js 同步ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6233071/