Javascript jqueryajax为所有http代码提供相同的数据
我有以下ajax,当我得到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
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));
}