我一定是犯了一个愚蠢的错误,但我无法返回我从$ .post函数得到的数据并将其存储在一个变量中,不仅如此,我无法从该函数中返回任何内容.例:
function test(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg"
},
function(data,status){
return(data)
});
}
var foo = test()
alert(foo)
Run Code Online (Sandbox Code Playgroud)
它说foo是未定义的.但要更进一步,即使我这样做:
function test(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg"
},
function(data,status){
var bar = "bar"
return(bar)
});
}
var foo = test()
alert(foo)
Run Code Online (Sandbox Code Playgroud)
它仍然说foo未定义......我必须做错事或误解某事.有人可以请帮助.
谢谢
Nag*_*jun 13
$ .post是一个异步函数.来自函数的控件将在运行后立即返回,但可能会在稍后收到来自post的响应.
所以你可以做的不是返回,而是使用回调函数并在外面定义回调函数.
说,
function test(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg"
},
function(data,status){
my_function(data)
});
}
function my_function(data){
// you can operate on data here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28783 次 |
| 最近记录: |