ajax异步传输数据时return返回总是undefined(转载)

Posted xiayizhan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax异步传输数据时return返回总是undefined(转载)相关的知识,希望对你有一定的参考价值。

写ajax传送数据时,需要用到异步,如上代码即总会返回undefined,很是费解。各种方式调试,后来广阅网上博客
,发现其实很多人遇到过这样的问题,大家都说原因是Jquery的ajax是异步,大多时候没执行完AJAX就return 
htmlcontent了,所以会一直返回undefined,但是我一直没有找到提出比较直白解决方法的啊。也有大神说只要

把异步改成同步就好了,可是这样我专门用这个异步功能不是废了,然后,一句话就解决如下:

 

 

[html] view plain copy
 
  1. success:function(datas){  
  2.           
  3.     alert(data.list[1].id);  
  4.                       
  5.                   
  6.     }               //结果:undefined  

 

[html] view plain copy
 
    1. success:function(datas){  
    2.     var data =(new Function("","return "+datas))(); 嗯就是这句,设置返回数据          
    3.     alert(data.list[1].id);  
    4.                       
    5.                   
    6.     }           //结果:1113  


以上是关于ajax异步传输数据时return返回总是undefined(转载)的主要内容,如果未能解决你的问题,请参考以下文章

Ajax异步传输

$.ajax() 获取不到return 返回值

JavaScript如何让jQ ajax请求 success函数里返回的数据,变为外层函数的返回值?

jQuery ajax return值的获取方法

关于$.ajax()、$.get()、$.post()获取return值得问题

同步 异步传输