簡體   English   中英

從jQuery Ajax post返回JSON值

[英]Return JSON value from jQuery Ajax post

我正在嘗試遍歷json對象並輸出值,但該值一直返回“未定義”。 我究竟做錯了什么?

JSON

{"AssetGUID":"00000000-0000-0000-0000-000000000000","AwayForRepair":false}

JavaScript的

function runSync() {
    var url = "http://207.230.229.209/tag/assettags.json";
    $.ajax({
        type: "GET",
        url: url,
        success: successHandlerRunSync,
        error: errorHandlerRunSync,
        dataType: "json",
        jsonpCallback: 'parseJSON' // specify the callback name if you're hard-coding it
    });
    $('#jsonMsg').html('Running...');
    $('#jsonRslt').html(' ');
}

function successHandlerRunSync(data, textStatus, jqXHR) {
    var dataJSON = JSON.stringify(data);
    $('#jsonMsg').html("RunSync Success <br>status: " + textStatus);
    $('#jsonRslt').html(dataJSON);

    var content = '';
    var dataj = $.parseJSON(data);

    $.each(dataj, function(i, post) {
    content += '<li>' + post.AssetGUID + '</li>';
    content += '<li>' + post.AwayForRepair+ '</li>';
    });

    $(content).appendTo("#addJSON");

    console.log("RunSync Success");
    console.log(data);
    console.log(dataJSON);
    console.log(textStatus);
}

產量

AssetGuid : undefined
AwayForRepair : undefined

您說您的代碼在同一台服務器上運行,因此擺脫jsonpCallback參數。 您此處未使用JSONP,僅用於跨域請求。

var url = "http://207.230.229.209/tag/assettags.json";
$.ajax({
    type: "GET",
    url: url,
    success: successHandlerRunSync,
    error: errorHandlerRunSync,
    dataType: "json"
});

然后,在您的回調中,將已經為您解析了JSON,無需調用$.parseJSON

function successHandlerRunSync(data, textStatus, jqXHR) {
    var content = '';

    $.each(data, function(i, post) {
        content += '<li>' + post.AssetGUID + '</li>';
        content += '<li>' + post.AwayForRepair+ '</li>';
    });

    $(content).appendTo("#addJSON");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM