Juw*_*Juw 49 ajax mobile jquery
在jQuery 1.8中,使用async:false在jQuery.ajax()被弃用.
但是,在后台正在进行的AJAX通信中,您在"加载屏幕"中看到了多少个网页?我可能已经看过数千个.
我的情况是我正在编写一个需要加载语言文件的移动应用程序.在开始时,我加载语言文件,然后从语言文件中检索按钮和其他GUI元素的文本.
这对我来说真的很糟糕.因为如果缺少语言文件,则不应出现GUI.那么我该如何解决呢?把我所有的代码放在success回调中?这对我来说似乎不是一个好的编码实践.我可以用另一种方式解决吗?
Jør*_*n R 34
解决方案是手动添加覆盖以防止用户与界面交互,然后在完成AJAX查询后将其删除.
$(function() {
show_overlay();
$.ajax({
// Query to server
}).done(function() {
// Verify good data
// Do stuff
remove_overlay();
});
});
Run Code Online (Sandbox Code Playgroud)
Inf*_*igo 29
我在票证中看到了关于这个参数弃用的官方讨论,这是我所理解的:
有许多实际的同步AJAX用例,例如在页面卸载之前保留状态.因此,此功能将保留,但您使用它的方式可能会改变.
最近的溶液(降落在1.8?)是只支持回调(但不承诺),当async是false.
总结:async: false如果必须继续使用,但要注意其缺点(阻止VM).不用担心,如果此功能被删除,您将获得替代方案$.ajax().
| 归档时间: |
|
| 查看次数: |
63169 次 |
| 最近记录: |