ajax请求获取的数据无法赋值给全局变量问题总结

一、总结:

1.问题描述:

今天做项目遇到在用表单显示详细信息的过程中ajax请求获取的数据无法赋值给全局变量的情况,从列表页面进入详情页,在详情页面被渲染了之后就会调用js文件里的接口向服务器请求数据,除了详情页面被加载之后需要向服务器发送ajax请求,在详情页面还有几个表单控件的属性需要去请求服务器获取实际项目中要求要显示的数据。

如下代码,直接在ajax请求中改变表单控件的值,避开了给全局变量赋值。

给全局变量赋值的解决办法,给ajax请求设置async为false,表示请求为同步请求:

异步请求不会阻塞代码的执行,程序从上往下执行,同步请求必须等前面的代码执行完后面的代码才能执行。所以,ajax请求的数据不能赋值给全局变量(赋值之后全局变量没有值),是因为ajax请求还没有执行完后面的代码就执行了。将ajax请求设置成同步请求,保证ajax请求执行完了再给全局变量赋值。

时间: 2024-10-12 00:45:15

ajax请求获取的数据无法赋值给全局变量问题总结的相关文章

ajax请求获取到数据,但是仍然不能触发success方法

这个问题消耗了我的很多时间. 原来是因为.php文件中的 echo echo json_encode($k);  后面少加了个exit; 因为echo echo json_encode($k); 之后还是有其他内容的,所以ajax获取到除了json格式以外的数据. 这个时候会触发error方法: error: function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest.status); alert(XMLHttp

ajax请求获取实时数据

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title></title> <script src="WebUI/js/clienthint.js"></script> &l

html页面通过ajax请求获取session中的值

在利用springboot进行web开发时,遇到这样一个问题:html如何获取session中的值,实现用户登录系统后首页展示xx欢迎您. 也就是需要实现html通过ajax请求获取session中的值. 1.登录页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="utf-8"> <meta http-equiv=&quo

android通过httpClient请求获取JSON数据并且解析

android通过httpClient请求获取JSON数据并且解析:http://www.cnblogs.com/gzggyy/archive/2013/05/08/3066288.html Android--使用Http向服务器发送请求并取得返回结果,下载图片:http://www.2cto.com/kf/201307/229489.html Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据):http://blog.csdn.net/he

jquery通过ajax方法获取json数据不执行success回调

问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法:      1)键名称:用双引号括起:    2)字符串:用双引号括起:    3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号!

jquery通过ajax方法获取json数据不执行success

1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法:      1)键名称:用双引号括起:    2)字符串:用双引号括起:    3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号! 2.jQuery中ajax使用json数据类型总是跳过success

ajax请求获取xml数据结构

使用Ajax请求,获取xml数据结构,在IE10.11会出现错误: 请求xml文件为: 在IE 10以上浏览器中: IE9及以下浏览器返回: 查看文档,我们发现: 针对这种情况,我们需要对ajax请求进行重写,针对IE跟非IE使用不同的方式解析xml文档数据: demo 1: function $ajax(url, content, callback) { var xmlVer = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"], x

Ajax请求返回Json数据

介绍一下用Ajax向服务器请求数据的方法,以及对于返回的Json数据的使用. 1 $.ajax({ 2 type:"post", 3 async:false, 4 url: ******** 5 data:{"province":$("#provice").val(), 6 "city":$("#city").val(), 7 "area":$("#area").va

Ajax异步获取html数据中包含js方法无效的解决方法

页面上使用js写了一个获取后台数据的方法 function data() { var tab = $("#dic") $.ajax({ url: '../demo.ashx?method=GetList', data: {}, dataType: 'json', type: 'post', async: true, success: function (data) { //console.log(data); var parentStr = ''; $.each(data, funct