在使用ajax请求数据是,开始的时候是打算将ajax的数据取出,并赋予给全局变量,但是在实际编码过程中发现并不能将数据赋予给最开始定义的全局变量,出现这个问题的原因是由于ajax异步加载的原因,所以只能用其他方法来解决,下来是解决的方法

第一个解决方法没有使用全局变量,直接在ajax请求中将请求到的数据赋值给需要的地方
第二个方法是将请求到的数据,通过方法传参来传递给一个方法,然后再方法中来调用请求到的数据,下面是实现的代码

var  testData;
        $.ajax({
            url: '/test',
            type: 'GET',
            dataType: 'json',
            success: function (data, status) {
                testData=data;
                loadData(testData);
function loadData(testData) {

这样就可以在loadData中调用请求到的数据了

第三个方法就是将ajax的异步加载改为同步加载

 $.ajax({
            url: 'url',
            type: 'GET',
            dataType: 'json',
            sync:false,
            success: function (data, status) {
                    在使用ajax请求数据是,开始的时候是打算将ajax的数据取出,并赋予给全局变量,但是在实际编码过程中发现并不能将数据赋予给最开始定义的全局变量,出现这个问题的原因是由于ajax异步加载的原因,所以只能用其他方法来解决,下来是解决的方法第一个解决方法没有使用全局变量,直接在ajax请求中将请求到的数据赋值给需要的地方 第二个方法是将请求到的数据,通过方法传参来传递给一个方法,然后再方法中来调用请求
				
今天在做项目时,遇到了一个问题。我用的是ajax,要在$.ajax({里面给一个全局变量赋值,结果死活赋值不上,纠结了好半天,后来上网查了查,才知道,ajax默认是异步请求,(当要赋值时,此时的值没有拿到,所以赋值不成功)如果要在$.ajax({里面给全局变量赋值,需要改为同步操作,即加上async : false,就可以了。 代码如下: $.ajax({ type:”post”, url:”a.action”, data: {}, dataType: ‘text’, async : false,//设置为同步操作就可以给全局变量赋值成功 success:function(data){ us
问题的引出使用ajax从后台查询数据给ztree赋值初始化时, 发现ajax成功回调方法不能将返回值赋给js声明的全局变量, 如图所示: ztree初始化失败, 因为ztreeNodes为Null(请自动忽略setting的配置), 在浏览器控制台可以看到: log1处打印了数据, 而log2显示undefin. 然而, 将91行的ztree初始化代码移至84行, 页面是可以显示树形图的.解
关于 ajax 请求 出的数据 全局使用 第一步 要把async 设置成false ,这个是为了 解决 同步异步问题,默认是异步 处理,变为同步处理,然后把 success设置成 箭头函数 第二步 写一个函数 ,在 return 出去 这个 success 的结果 ,执行这个函数 // 获取时间 function time() { var ti...
ajax请求的返回值要作为全局变量使用。 当我们需要加载页面进行ajax请求请求到的值存储到变量需要作为全局使用,因为ajax默认是异步请求,这个时候我们就会发现,ajax的返回值在ajax请求外使用是空值或undefined。 var name = $("#name").val() $.ajax({ type: "post", //get //请求方式 url: "index/index.php", //请求地址 data: {
在用js的flot.js时,$plot方法,要设置x,y轴的数组,这次的x,y轴数组数据ajax从后台获取,获取变量给其他全局的数组赋值时,发现在$ajax方法外的数据有异常,赋值失败,后发现。在ajax取消异步,便可赋值。 代码如下:             $.ajax({                 dataType: "json",                 type: ...
昨天通过ajax发送请求后返回的返回值要给他赋值全局变量,但是一直都赋值不了。后来发现了原来ajax本身默认是异步请求的,只需要把它变更为同步请求即可赋值全局变量。 $.ajax({ type : "get", //请求方式 url :请求地址, //请求地址 data : {参数:参数}, //请求参数
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax异步调用async:true(默认情况),如: function ManageCommentText(text) { var result = text; $.ajax({ data: "g...
实现一个小demo的时候,需要发送ajax请求,并且把返回回来的数据作为全局变量进行使用。 第一次尝试的时候,使用了直接定义一个全局变量,直接进行赋值,会输出undefined,因为执行顺序是异步的,所以会没传输回来就输出了。 因此采用函数的return的作用 代码如下: 注意设置异步 然后return的作用就好 var test = (function () { let result;
当使用Ajax请求后,JS绑定的事件失效的原因可能是因为JS绑定事件的代码在Ajax请求后执行了,但是Ajax请求返回的HTML内容包含了相同的元素,导致之前绑定的事件被覆盖或失效。 解决方法有两种: 1.使用事件委托 事件委托就是利用事件冒泡原理,将事件绑定到父元素上,通过父元素监听子元素的事件,这样即使子元素动态添加或删除,也不会影响绑定的事件。 示例代码: ```javascript $(document).on('click', '.btn', function() { // 处理事件 2.在Ajax请求成功后重新绑定事件 在Ajax请求成功后,重新绑定事件即可解决问题。 示例代码: ```javascript $.ajax({ url: 'example.com', success: function(data) { // 更新HTML内容 $('#container').html(data); // 重新绑定事件 $('.btn').on('click', function() { // 处理事件 springboot 使用thymeleaf 模板引擎时报错org.xml.sax.SAXParseException: 元素类型 "link" 必须由匹配的结束标记 "</link>" 终止 14727 springboot 使用thymeleaf 模板引擎时报错org.xml.sax.SAXParseException: 元素类型 "link" 必须由匹配的结束标记 "</link>" 终止 前端客栈: 关于wordpress 更新时需要FTP 服务器账户密码 的解决方法 「已注销」: 可以的,谢谢 springboot 使用thymeleaf 模板引擎时报错org.xml.sax.SAXParseException: 元素类型 "link" 必须由匹配的结束标记 "</link>" 终止 wojiaohb: 还是不行啊