需要帮忙!
我正在函数内执行ajax调用.Ajax调用的结果是函数的返回值.
代码如下:
function tabstrip()
{
$.ajax({
type: "POST",
url: "/WebService/MessageUnratedCount.asmx/GetMessageUnratedCount",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
nUnratedCount=msg.d;
}
});
return nUnratedCount;
}
Run Code Online (Sandbox Code Playgroud)
在从Web服务的ajax调用获得结果后,应返回nUnratedCount值.但是它会在执行ajax调用之前返回.你能帮忙吗?
请记住,默认情况下,您的ajax请求不是同步调用,因此函数将立即返回而不等待响应.我强烈建议的一个选择是使用asynch:false
设置.
最好的选择是重构代码结构并传入一个成功调用的回调函数
例如
//calling code
tabstrip( yourCallbackFunction )
function tabstrip(callbackFn)
{
$.ajax({
type: "POST",
url: "/WebService/MessageUnratedCount.asmx/GetMessageUnratedCount",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: callbackFn
});
}
function yourCallbackFunction (data){
//do something
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3270 次 |
最近记录: |