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

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

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

[html] view plain copy

  1. success:function(datas){
  2. alert(data.list[1].id);
  3. }               //结果:undefined

[html] view plain copy

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

原文地址:https://www.cnblogs.com/xiayizhan/p/8309011.html

时间: 2024-11-10 11:32:28

ajax异步传输数据时return返回总是undefined(转载)的相关文章

ajax异步传输数据,return返回值为空

今天在项目中遇到了一个问题,就是在定义了一个函数drawHtml(),本意是想在函数运行结束后,返回拼接的字符串,可是函数运行结束后始终返回的是undefined 有BIG的代码: function drawHtml(){ var html =""; $.ajax({ type:'get', url:'http://localhost:63342/projectStudy/json/data.json', success:function(data){ var dataList = d

ajax异步处理时,如何在JS中获取从Servlet或者Action中session,request

ssh项目中,我需要登陆某个页面(如a.jsp),通过onblur()鼠标失去焦点后来触发js函数(函数是ajax请求)请求到相应的action,处理完成后将数据存放到session对象里面,然后在a.jsp中用el表达式获取想要的数据.可是问题来了,不知道为什么在打开浏览器第一次登录a页面时,a页面不会显示想要的数据,刷新后就有数据了,之后也正常. 后来查询了各种博客,各种网上的一些说法,最后总结出了自己的一套思路,仅供参考. 以下是在Action中 根据用户id查询出用户信息 .......

javaweb局部刷新-ajax异步请求springMVC显示返回的jsp内容,代替iframe

在jsp上要引入jquery <script src="<%=request.getContextPath()%>/js/jquery_ui/jquery.js"></script> 在js中发起请求 function get(p) { var patch="show"+p; $.ajax({ //这是$.ajax()方法 type:"POST", url:patch, //路径可以用相对路径,起点以此方法所在

JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值

在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子.本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求: 在进jQuery AJAX异步传值时,用JSON.stringify()函数将数组转换成(JSON:JavaScript Object Notation 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式),再传到一般处理程序中,在一般处理程序中,把得到的值进行反序列化Deserialize<T>(v

09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据

cmd下安装axios npm install axios 安装好后,会多出node_modules文件夹 思路: 监听data里的word改变时,发送ajax异步请求数据, 把返回的数据赋值给data里的result,再传给模板里 9.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible&qu

AJAX异步校验

前台JS代码 /*异步验证用户名的输入格式以及是否存在*/ function CheckUsername(){ /*取到用户名输入框*/ var nametxt = document.getElementById("username"); /*获取输入的用户名值*/ var username = nametxt.value; /*获取到装错误信息的span框*/ var sp = document.getElementById("usernameError"); v

ajax同步异步设置导致的问题及return返回值(返回ajax请求的数据)

一.ajax同步异步设置导致父子页面数据更新不一致问题. 1.在修复入宿退宿功能时,发现点击退宿.入宿按钮时.父页面数据更新了但是子页面数据要重新打开才能更新.如下图: 因为数据刷新函数如下:父页面刷新函数findRoomPeople()采用的是异步,所以,操作的数据还没更新,子页面刷新函数loadRoomInfo()就已经执行,所以获取到的数据还是之前的数据. <script> roomHandle: function () { /*刷新数据变化*/ parent.cootoo_room.f

$.getJSON 返回值、AJAX异步调用步骤

//首先要判断用户录入的手机号是不是中国移动的,不是直接给出提示,并终止登录 if($("#cmUsername1").val().isMobile())//手机号码 { jQuery.ajax({ async: false,//必须同步!! url: G_CTX_ROOT+"/query/isJSorHNMobile", data: {mobile: $("#cmUsername1").val()}, dataType: "json&

通过jquery的ajax异步请求接收返回json数据

jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以. 代码示例如下: $('#send').click(function () { $.ajax({ type : "GET", url : "a.php", dataType : "jsonp", success : function (data) { $.