我使用AngularJs實現了一個請求,但是當我的服務器向客戶端返回badrequest時,錯誤函數的參數數據是空的。有關http方法的疑問AngularJS
$http({
method: args.method,
url: URL+'/'+args.url,
data: JSON.stringify(args.data),
headers : {
'Content-Type': 'application/json'
},
responseType: 'json'
}).success(function(data, status, headers, config) {
//
}).error(function(data, status, headers, config) {
console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});
但是,當我使用jquery請求它的作品。
$.ajax({
url: URL+"/"+args.url,
data: JSON.stringify(args.data),
dataType: "json",
contentType: "application/json",
type: args.method})
.done(function (data, textStatus, xhr) {
;
})
.fail(function(xhr, textStatus, thrownError) {
if (xhr.status == 400) {
console.log(xhr.responseText);
}
});
輸出的Jquery的Ajax:
測試
我怎樣才能得到這個職位,方法的返回值時,服務器通過angularJS功能錯誤請求返回?
你需要明白'error'回調用於告訴用戶$ http'服務本身或後端的任何錯誤,現在你必須告訴$ http'對象關於錯誤的方式是使用HTTP狀態碼(http://www.restapitutorial.com/httpstatuscodes.html)。 現在,你告訴我,jQuery的作品;你能向我們展示一下你的後端嗎?我的意思是,請求失敗的地方? – weirdpanda
Ty爲你的答案。我的後端是用java語言編寫的。這是我的後端返回'Response.status(Status.BAD_REQUEST).entity(message).build();'。 'message'參數是我想要得到的參數。 'message'包含登錄錯誤('無效密碼')。 –
根據您的網絡Api調用是get還是post,它將要求填充參數或數據屬性,當您要將數據傳遞給調用 – pixelbits