在jQuery方面,我是一个完全的菜鸟,但我正在努力学习.我在这里做错了什么?
function MakeCall(url) {
var result;
$.ajax({
url: url,
dataType: "text",
success: function(txt) {
result = txt;
return;
}
});
alert(result);
return result;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
好的,抱歉这一点愚蠢......我已经修好了那一部分.现在我的问题是它现在的警报返回"未定义",即使结果在成功函数中正确设置...
非常感谢...
Nad*_*mli 13
result == txt;
Run Code Online (Sandbox Code Playgroud)
应该
result = txt;
Run Code Online (Sandbox Code Playgroud)
你的第二个问题是ajax调用是异步的.即alert(result)语句可能会在成功回调函数之前执行.
你问的是如何防止这种情况.你不能.这不是一个错误.这就是AJAX所代表的.如果您希望在ajax调用之后执行某些操作,请将其添加到成功回调函数中.
编辑
如果你真的需要在其他函数中处理结果,那么你可以这样做:
$.ajax({
url: url,
dataType: "text",
success: function(result) {
someOtherFunction(result)
return;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |