您的位置:首页 > 其它

用ajax获取数据return的结果为undefined

2015-10-15 16:34 211 查看
代码如下:

function get_football_bottom_live($, match_id) {
var json_data;
$.ajax({
url: appSetting.get_constant("domain") + appSetting.get_constant("get_api_post_data"),
type: 'POST',
datatype: 'json',
data: {'cmd': 'football_match_list', 'match_ids': match_id},
success: function (data) {
json_data = data;
}
})
return json_data;
}
返回的结果为undefined

为什么呢?

因为ajax是异步请求,意思是当我调用的时候,它就马上执行返回结果,还没有结束就给我返回了结果,所以当然是undefined

因为架构中用到了requirejs所以我打算把另外的JS文件中的方法引用到这里,但是发现又错误了,好像requirejs不能够互相引用

最后的解决方案是在另外一个需要数据的JS文件中调用这个JS文件的方法,并且传递一个需要用数据的方法到这个方法在success中处理数据

大意如下:

function get_football_bottom_live($, fn,match_id) {
$.ajax({
url: appSetting.get_constant("domain") + appSetting.get_constant("get_api_post_data"),
type: 'POST',
datatype: 'json',
data: {'cmd': 'football_match_list', 'match_ids': match_id},
success: function (data) {
fn(data);
}
})
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: