ajax获取success返回值的解决方案
获取success返回值的方式有:一、调用返回值,作为全局函数使用:var jsonData = [];function getCsv() {var csv_file_API = 'sample.csv';//csv files$.ajax({type: 'post',url: csv_file_...
·
获取success返回值的方式有:
一、调用返回值,作为全局函数使用:
var jsonData = [];
function getCsv() {
var csv_file_API = 'sample.csv';//csv files
$.ajax({
type: 'post',
url: csv_file_API,
async: false,
dataType: 'text',
success: function (data) {
jsonData = $.csv.toObjects(data);//获取数组;
},
error: function (e) {
alert('API调用出错!');
console.log("API call Failed: ", e);
}
});
return jsonData;
}
getCsv();
console.log(jsonData);
- 定义全局变量:var jsonData = [];
- 同步:async: false,必须设置为false,才能实现jsonData的全局变量赋值;
虽然能够获取全局变量 jsonData,但是chrome控制台警告会出现:[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience.
这个警告并不是错误,不是逻辑和代码错误;而是浏览器检测出来的一种不建议写法和用法的一种警示,完全不影响程序的执行和正常运行!
**意思为:**由于主线程上的同步XMLHttpRequest对最终用户体验的不利影响,因此不推荐使用它。
**可能的结果是:**会引起很不好的用户体验,导致浏览器卡死等等。
二、直接在success内部调用:
function getCsv() {
var jsonData=[];
var csv_file_API = 'sample.csv';//csv files
$.ajax({
type: 'post',
url: csv_file_API,
async: false,
dataType: 'text',
success: function (data) {
jsonData = $.csv.toObjects(data);//获取数组;
},
error: function (e) {
alert('API调用出错!');
console.log("API call Failed: ", e);
}
});
}
getCsv();
在success内部,通过jquery选择器直接使用,如:
success: function (data) {
jsonData = $.csv.toObjects(data);//获取数组;
$('#demo').html(jsonData);//jquery选择器直接使用
},
Done!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)