代码如下:
function get_football_bottom_live($,match_id) {
<span style="white-space:pre"> </span>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; } })
<span style="white-space:pre"> </span>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"),success: function (data) { fn(data); } }) }