Ajax请求成功后,获取success中的返回的问题
2017-04-18 13:35
309 查看
1.问题描述:在使用Ajax获取josn传过来的集合后,在success回调函数中对josn数据解析完成之后,返回的值为空
2.解决办法:设置Ajax的方法参数async为false,
默认async是true(异步请求) ,我们在这边要使用同步请求,所以改为false.
<script type="text/javascript"> var arr=new Array();//新建一个数组,用来保存接收的数据 function getTime(arr){ $.ajax({ type: "GET",//请求方式 url: "${pageContext.request.contextPath}/AjaxTimeServlet",//发送请求的地址 data: {temperature:$("#temperature").val(), time:$("#time").val()}, dataType: "json",//预期服务器返回的类型 async: false,//设置为同步传输 success: function(data){ var i = 0; $.each(data, function(key, value){//key和value分别保存的是data集合中的键和值 arr[i] = value;//将data集合中的值依次放进数组中 i=i+1; }); } }); alert(arr); return arr;//返回数组 } arr = getTime(arr); alert(arr[0]); </script>
效果图:
但是这样修改就会出现线程安全的问题,很可能会造成整个浏览器的阻塞,不建议在主线程使用,如果一定要使用同步,放到worker线程中就不会出现同样的问题
3.参考资料:http://www.cnblogs.com/tylerdonet/p/3520862.html
相关文章推荐
- jquery的ajax请求成功OK,返回了数据,但是不进success的问题解决办法
- JQUERY AJAX请求成功,返回了数据,但是不进SUCCESS的问题
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- JQUERY AJAX请求成功,返回了数据,但是不进SUCCESS的问题 【转】
- JSP学习笔记(十四):关于ajax请求成功时返回的是jsonSring还是jsonObject的问题
- JQUERY AJAX请求成功,返回了数据,但是不进SUCCESS的问题
- ajax()成功返回success()函数体function()内的问题
- 解决ajax提交到后台数据成功但返回不走success而走的error问题
- jquery获取ajax成功请求的返回值,并返回给其他函数使用
- Ajax请求跨域问题, 获取不到返回数据
- jquery ajax请求成功,返回了数据,但是不进success的问题
- ajax请求成功后无法在success方法里给外部变量赋值的问题
- jquery ajax请求成功,返回了数据,但是不进success的问题
- JQUERY AJAX请求成功,返回了数据,但是不进SUCCESS的问题
- Jquery Ajax xmlhttp请求成功问题
- Ext发起ajax请求获取返回对象属性值
- SpringMVC Ajax请求时返回json中文字符串的乱码问题的解决方案
- 用ajax的同步请求解决登陆注册需要根据服务器返回数据判断是否能提交的问题
- 关于ajaxFileUpload上传文件成功后,既不返回success又不返回error的原因
- Ajax请求ashx 返回 json 格式数据常见问题