您当前的位置: 首页 >  ajax

漏刻有时

暂无认证

  • 0浏览

    0关注

    717博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

漏刻有时 发布时间:2020-02-12 16:47:39 ,浏览量:0

获取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!

关注
打赏
1661217259
查看更多评论
立即登录/注册

微信扫码登录

0.0415s