ens*_*are 4 javascript jquery javascript-events
我正在尝试获取一个函数来执行ajax查询,然后将解释的JSON作为对象返回.但无论出于何种原因,一旦执行此请求,只能从函数内访问数据.
function getCacheImage(direction) {
jQuery.ajax({
url: json_request_string,
success: function(data) {
return data;
}
});
}
Run Code Online (Sandbox Code Playgroud)
如何让这个函数适当地返回'数据'?
谢谢.
您需要使用同步ajax请求(不是典型的或推荐的)并将数据捕获到外部作用域中的变量中,或者弄清楚如何操作回调函数中的数据.问题是ajax函数在ajax调用完成之前返回 - 它是异步的.
同步方式:
function getCacheImage(direction) {
var capture;
jQuery.ajax({
url: json_request_string,
aSync: false,
success: function(data) {
capture = data;
}
});
return capture;
}
Run Code Online (Sandbox Code Playgroud)
典型的,使用回调
function getCacheImage(direction,callback) {
jQuery.ajax({
url: json_request_string,
success: function(data) {
callback( data );
}
});
}
getCacheImage('left', function(data) {
...do something with the data...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7145 次 |
| 最近记录: |