怎样把ajax获取到的json数据保存到一个外部定义好的数组里然后使用

时间:2022-01-21 19:47:54
用ajax将数据获取到后我想把数据填到echarts图形中,可是外部访问不了ajax拿到的数据,请问有什么科学实用点的办法

5 个解决方案

#1


json数据存到全局变量里就可以获取了

#2


引用 1 楼 slwsss 的回复:
json数据存到全局变量里就可以获取了


不行吧,想到的第一个办法就是这,然并卵

var arr = new Array();
var ajaxRquest = $.ajax(url, {
    type: 'POST',
    dataType: 'jsonp',
    crossDomain: true,
    async: false,
    success: function (data) {
arr.push(data);
    },
    error: function(XMLHttpRequest, status) {
        switch (status){
         case 'error':
     alert("用户名或密码错误");
     break;
     case 'timeout':
     alert("连接超时");
     break;
     default:
     alert("访问异常,请重新登录!");
     break;
     }
    }
});

console.log(arr);

我这样写了之后控制台输出了 怎样把ajax获取到的json数据保存到一个外部定义好的数组里然后使用
但是我怎样取这个数组中的第一个值

#3


为什么控制台一刷新就arr变空了

#4



var arr = new Array();
var ajaxRquest = $.ajax(url, {
    type: 'POST',
    dataType: 'json',
    crossDomain: true,
    async: false,
    success: function (data) {
    arr=data);
    },
    error: function(XMLHttpRequest, status) {
        switch (status){
            case 'error':
                alert("用户名或密码错误");
                break;
            case 'timeout':
                alert("连接超时");
                break;
            default:
                alert("访问异常,请重新登录!");
                break;
        }
    }
});
 
console.log(arr);

这样就可以正常访问,但我不想这样同步请求,请问有没有更好的办法

#5


异步的话在回调里面调用下echarts实例的
    myChart.setOption(option);
设置下echarts数据就行了,
api
http://echarts.baidu.com/api.html#echartsInstance.setOption

demo
http://echarts.baidu.com/gallery/editor.html?c=dynamic-data

#1


json数据存到全局变量里就可以获取了

#2


引用 1 楼 slwsss 的回复:
json数据存到全局变量里就可以获取了


不行吧,想到的第一个办法就是这,然并卵

var arr = new Array();
var ajaxRquest = $.ajax(url, {
    type: 'POST',
    dataType: 'jsonp',
    crossDomain: true,
    async: false,
    success: function (data) {
arr.push(data);
    },
    error: function(XMLHttpRequest, status) {
        switch (status){
         case 'error':
     alert("用户名或密码错误");
     break;
     case 'timeout':
     alert("连接超时");
     break;
     default:
     alert("访问异常,请重新登录!");
     break;
     }
    }
});

console.log(arr);

我这样写了之后控制台输出了 怎样把ajax获取到的json数据保存到一个外部定义好的数组里然后使用
但是我怎样取这个数组中的第一个值

#3


为什么控制台一刷新就arr变空了

#4



var arr = new Array();
var ajaxRquest = $.ajax(url, {
    type: 'POST',
    dataType: 'json',
    crossDomain: true,
    async: false,
    success: function (data) {
    arr=data);
    },
    error: function(XMLHttpRequest, status) {
        switch (status){
            case 'error':
                alert("用户名或密码错误");
                break;
            case 'timeout':
                alert("连接超时");
                break;
            default:
                alert("访问异常,请重新登录!");
                break;
        }
    }
});
 
console.log(arr);

这样就可以正常访问,但我不想这样同步请求,请问有没有更好的办法

#5


异步的话在回调里面调用下echarts实例的
    myChart.setOption(option);
设置下echarts数据就行了,
api
http://echarts.baidu.com/api.html#echartsInstance.setOption

demo
http://echarts.baidu.com/gallery/editor.html?c=dynamic-data