ajax获取success返回值的解决方案

简介: ajax获取success返回值的解决方案

获取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);

1.定义全局变量:var jsonData = [];

2.同步: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!


相关文章
|
10月前
|
JSON 前端开发 安全
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
ajax中实现访问url已阅即焚的解决方案(url动态参数、变量加密、常量不变、php加密解密、API访问验证方式)
194 0
|
10月前
|
JSON 前端开发 JavaScript
layui上传文件弹出请求上传接口出现异常的终极解决方案(v2.68版本、ajax底层逻辑修改、debug快速定位)
layui上传文件弹出请求上传接口出现异常的终极解决方案(v2.68版本、ajax底层逻辑修改、debug快速定位)
627 0
|
10月前
|
前端开发 API PHP
ajax获取API数据出现400或415的解决方案
ajax获取API数据出现400或415的解决方案
83 0
|
10月前
|
前端开发 API PHP
漏刻有时开放平台数据接口php允许ajax跨域的解决方案
漏刻有时开放平台数据接口php允许ajax跨域的解决方案
36 0
|
10月前
|
前端开发 JavaScript
javascript使用ajax传递token参数的一个解决方案
javascript使用ajax传递token参数的一个解决方案
65 0
|
10月前
|
前端开发
大数据量学习:ajax获取数据后将数组重新分组后分批定时渲染的解决方案
大数据量学习:ajax获取数据后将数组重新分组后分批定时渲染的解决方案
69 0
|
10月前
|
前端开发 数据可视化 JavaScript
ajax刷新php后台实现定时任务的执行解决方案
ajax刷新php后台实现定时任务的执行解决方案
73 0
|
6天前
|
XML 前端开发 JavaScript
jQuery中ajax如何使用
jQuery中ajax如何使用
24 0
N..
|
6天前
|
XML JSON 前端开发
jQuery实现Ajax
jQuery实现Ajax
N..
24 1
|
6天前
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
63 0