解决easyui jQuery JS的for循环调用ajax异步问题
2014-07-04 11:35
567 查看
由于JS的for循环与ajax非同步运行,因此导致for循环结束了而ajax却还未执行,解决此方法有两种
1、设置ajax参数async为false,即与js同步,默认是true(异步).
这里首先引用$.Ajax()中 async 和success的官方的解释:
代码示例:
for(int i=0;i<x;i++){
var html = $.ajax({
url: "some.php",
async: false
}).responseText;
}
2.采用递归循环的方法解决此问题
function func(times){
if(times <= 0){
return;
}
$.get(url,data,function(){
times --;
func(times); //递归调用
});
}
func(5);
1、设置ajax参数async为false,即与js同步,默认是true(异步).
这里首先引用$.Ajax()中 async 和success的官方的解释:
async | Boolean | Default: true |
---|---|---|
By default, all requests are sent asynchronous (e.g. this is set to true by default). If you need synchronous requests, set this option to false. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active. |
for(int i=0;i<x;i++){
var html = $.ajax({
url: "some.php",
async: false
}).responseText;
}
2.采用递归循环的方法解决此问题
function func(times){
if(times <= 0){
return;
}
$.get(url,data,function(){
times --;
func(times); //递归调用
});
}
func(5);
相关文章推荐
- MVC5 新建项目里不包含jquery.unobtrusive-ajax.js(MVC5异步表单的问题)解决方法
- MVC5 新建项目里不包含jquery.unobtrusive-ajax.js(MVC5异步表单的问题)解决方法
- JSP、AJax中文乱码问题解决,escape(), encodeURI(), encodeURIComponent(),js对参数连续两次调用 encodeURI(String) 方法
- jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
- ajax异步模式下实现等待loading(jQuery同步Ajax带来的UI线程阻塞问题及解决办法)
- jquery异步ajax超大长度base64图片长字段数据传输问题解决办法和php后台处理办法
- JSP、AJax中文乱码问题解决,escape(), encodeURI(), encodeURIComponent(),js对参数连续两次调用 encodeURI(String) 方法
- AjaxPro实现异步调用,解决浏览器假死及超时问题
- jquery 文件上传插件ajaxfileupload.js 实现多图上传,解决文件上传后表单置空的问题
- jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
- 【jQuery】解决在循环中使用ajax异步时,数据的同步问题
- 解决JQuery表单异步提交到action的乱码问题(ajaxform,ajaxsubmit)
- 解决YII自动调用jquery.js的问题
- AjaxPro实现异步调用,解决浏览器假死及超时问题
- jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
- 解决node.js中使用for循环查询数据库异步执行的问题
- 解决jQuery循环调用ajax,异步返回结果混乱
- jQuery插件之ajaxFileUpload(异步上传图片并实时显示,并解决onchange后ajaxFileUpload失效问题)
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- jquery easyui easyloader加载外部js文件失败问题解决