亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js訪問ajax獲取的json數據

js訪問ajax獲取的json數據

慕慕森 2018-11-14 17:14:04
我不想像這樣處理取得的json數據,有時候在success里要寫較多代碼我想把$.ajax取得的json數據在外部獲取調用,打印出結果是undefined。有沒有辦法可以在外部訪問到ajax取得的data值
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

您好,由于$.ajax函數的async屬性默認為true,即異步請求,并且您聲明的jsonData是局部變量,所以jsonData輸出結果為undefined。如果您想外部訪問到ajax響應值,有兩種方法:

方法一:指定一個回調函數,示例如下:

$.ajax({

    type: "get",

    dataType: "json",

    url: 'skin/data/winner.json',

    success: callBack

});

// 回調函數

function callBack(jsonData) {

    // 在這里做其他處理

    var html = buildHtml(jsonData);

    $("ul.infoList").html(html);

    $(".topLoop").slide({

        mainCell: ".bd ul",

        effect: "topMarquee",

        vis: 6,

        interTime: 40,

        autoPlay: true

    });

}

方法二:改成同步請求,示例如下:

var jsonData; // 全局變量

$.ajax({

    type: "get",

    dataType: "json",

    async: false,

    url: 'skin/data/winner.json',

    success: function (data) {

       jsonData = data;     

    }

});

console.log(jsonData);


var html = buildHtml(jsonData);

$("ul.infoList").html(html);

$(".topLoop").slide({

    mainCell: ".bd ul",

    effect: "topMarquee",

    vis: 6,

    interTime: 40,

    autoPlay: true

});


查看完整回答
反對 回復 2018-12-05
  • 1 回答
  • 0 關注
  • 822 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號