读书人

怎么将参数传递给$.post的回调函数中

发布时间: 2012-08-13 13:21:53 作者: rapoo

如何将参数传递给$.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

读书人网 >JavaScript

热点推荐