如何将参数传递给$.post的回调函数中?
jquery中的$.post的原型是
$.post(url, data, callback)
这里的data是要post的参数,而callback就是post之后的回调函数
callback有两个参数,一个是服务器响应的data,另外一个参数是执行结果,成功或者失败。
我有一个需求,如下:
{
var usetopost
$.post getA{
usetopost = A;
}
$.post B(usetopost){
提交usetopost的值
}
}
这里存在一个问题,就是执行了post getA后,回调函数还没执行,所以usetopost还没有赋值,下面的post B就执行了。
我如何能使post getA的回调函数执行后再执行post B?
我用了下面这个方法
var B
$.post getA{
usetopost = A;
这里还需要使用到B,但是测试的时候,发现这个B是post getA里的局部变量,并不是前面定义的B
$.post B(usetopost){
提交usetopost的值
}
}
如果是使用上面这个办法,我的疑问就是如何将前面定义的B传递给post getA,因为$.post的回调函数中的参数只有服务器返回的参数和失败或者成功的标记,所以这个方法就是行不通的。
------解决方案--------------------
用.ajax()方法,执行模式设置为同步模式:
JScript code
$.ajax({
type: 'POST',
url: 'url',
data: 'data',
async: false,
success: callback
...
});
------解决方案--------------------
$.get和$.post都是异步方式的执行。这个在任何一本Jq教程上都会讲到,所以还是用ajax原型
$.ajax,里面的async:false,这样就是同步执行了。。
------解决方案--------------------
$.post("1.php", function(usetopost){
$.post("2.php?xx="+usetopost, function(date){
//......
});
});
//这样必须返回1.php值后才运行2.php