Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从jQuery Ajax post返回JSON值_Jquery_Ajax_Json - Fatal编程技术网

从jQuery Ajax post返回JSON值

从jQuery Ajax post返回JSON值,jquery,ajax,json,Jquery,Ajax,Json,我试图循环一个json对象并输出该值,但该值一直以“未定义”的形式返回。我做错了什么 JSON JavaScript function runSync() { var url = "http://207.230.229.209/tag/assettags.json"; $.ajax({ type: "GET", url: url, success: successHandlerRunSync, error: erro

我试图循环一个json对象并输出该值,但该值一直以“未定义”的形式返回。我做错了什么

JSON

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);
}

您说过您的代码在同一台服务器上运行,所以请去掉
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");
}
函数successHandlerRunSync(数据、文本状态、jqXHR){
var内容=“”;
$。每个(数据、功能(i、post){
content+='
  • '+post.AssetGUID+'
  • '; content+='
  • '+post.AwayForRepair+'
  • '; }); $(content.appendTo(“#addJSON”); }
    这不是
    jsonpCallback
    参数的用途。这应该是包装JSON的回调函数的名称。它不是一个“过滤”函数或任何东西。这是jQuery用作JSONP的“成功”参数的内容。如何使用
    dataj.AssetGUID
    dataj.AwayForRepair
    您拥有
    207.230.229.209
    ?您的代码是否在同一台服务器上运行?JSONP是服务器需要支持的东西。它不会神奇地让你得到任意的JSON文件。你确定这个服务甚至支持JSONP(或CORS)吗?代码运行在同一台服务器上,它支持JSONP。如果代码运行在同一台服务器上,那么你就不需要JSONP。JSONP仅用于跨域请求。
    var url = "http://207.230.229.209/tag/assettags.json";
    $.ajax({
        type: "GET",
        url: url,
        success: successHandlerRunSync,
        error: errorHandlerRunSync,
        dataType: "json"
    });
    
    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");
    }