在使用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;