Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Javascript jqueryajax为所有http代码提供相同的数据_Javascript_Jquery - Fatal编程技术网

Javascript jqueryajax为所有http代码提供相同的数据

Javascript jqueryajax为所有http代码提供相同的数据,javascript,jquery,Javascript,Jquery,我有以下ajax,当我得到200时,它工作得很好,但是当我得到400时,我会得到各种额外的数据,有没有一种方法可以获得与错误成功相同的数据 $.ajax({ type: "get", url: getHost() + "/leaderboard/score?gameId=" + $("#gameId").val() + "&scoreId=" + $("#scoreId").val(), dataType: "json", success: functio

我有以下ajax,当我得到
200
时,它工作得很好,但是当我得到
400
时,我会得到各种额外的数据,有没有一种方法可以获得与错误成功相同的数据

$.ajax({
    type: "get",
    url: getHost() + "/leaderboard/score?gameId=" + $("#gameId").val() + "&scoreId=" + $("#scoreId").val(),
    dataType: "json",
    success: function(data){
        showOutput(data);
    },
    error: function(data){
        showOutput(data);
    }
});

function showOutput(data){
    $("pre code").text(JSON.stringify(data, null, 4));
    $('pre code').each(function(i, block){
        hljs.highlightBlock(block);
    });
}

您需要
jqXHR.always(函数(data | jqXHR,textStatus,jqXHR | errorshown){})

参考:


请注意,
data
可能并不总是可用的(出错时,您将返回一个jqXHR),因此您需要清理代码,否则
JSON.stringify
可能会引发异常。

您面临的问题是,这些回调采用不同的参数,例如,使用complete it

complete: function(jqXHR, textStatus ){
    showOutput(JSON.parse(jqXHR.responseText));
}

解析responseText是因为
showOutput
需要一个对象而不是JSON字符串。

Ahh,这就是我想要的
complete: function(jqXHR, textStatus ){
    showOutput(JSON.parse(jqXHR.responseText));
}