$.post默认使用的是异步执行,所以上面你那样做,很可能是alert不出来的,要修改这个问题,有两种方式,方式1(异步模式,推荐使用,这样不会页面卡死):
$.pots('/chcek/check.php', {}, function(data) {if (data == 1) {
isscreen = true
} else {
isscreen = false
}
// 直接在这里alert
alert(isscreen)
})
方式2(同步模式,不推荐,会卡死页面):
$.pots('/chcek/check.php', {async: false // false表示采用同步模式请求
}, function(data) {
if (data == 1) {
isscreen = true
} else {
isscreen = false
}
})
alert(isscreen)
不要用for循环,而是在每次ajax的回调函数中再次发送下一个ajax请求,这样就能保证每次ajax都是在上一次ajax已完成的时候才发送的:var i = 0
function Ajax(){
$.post(vPostPhpUrl, {
arrDaoRuDiZhi: JSON.stringify(vDaoRuDiZhi.slice(i, i + 1000)).replace(/\\r/g, "")
}, function (data, status) {
var arrFanHui = JSON.parse(data)
//这里根据需要对返回的数据进行处理
if(++i<vRow)Ajax() //继续下一个ajax请求
})
}
Ajax() //开始第一次ajax请求
首先要清楚ajax的格式,如下:
$.ajax({type:'post',
url:'/testajax.php',
dataType:'json',
data:{uid:uid,rands:Math.random()},
success: function(){
alert('ajax return success')
}})
控制同步和异步的参数:
async类型:Boolean
默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
使用方式:
$.ajax({type:'post',
url:'/testajax.php',
......
async:false,
.....
success: function(){
alert('ajax return success')
}})