需要帮助.我正在写一个函数返回ajax调用的结果,但我没有得到任何结果,我想这是一个范围问题,但有什么办法吗?这是我的代码:
function Favorites() {
var links;
$.ajax({
type: "GET",
url: "/Services/Favorite.svc/Favorites",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function(msg) {
links = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
}
});
return links;
};
Run Code Online (Sandbox Code Playgroud)
Ajax是异步的,即在return links执行时,success甚至可能没有调用回调函数.
扩展您的函数以接受回调:
function Favorites(callback) {
var links;
$.ajax({
type: "GET",
url: "/Services/Favorite.svc/Favorites",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: callback
});
};
Run Code Online (Sandbox Code Playgroud)
并称之为:
var callback = function(msg) {
links = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
// do other stuff with links here
}
Favorites(callback);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
642 次 |
| 最近记录: |