Кажется, что вы запросили правильно отправленное сообщение и получите ответ.
Я пробовал службу RESTful, которая возвращает код состояния 401
. Вот мой код JavaScript:
объект
var href = 'https://contactsapi.apispark.net/v1/contacts/';
var acceptValue = 'application/json';
var contentType = 'application/json';
var credentials = {}; //'something';
function onSuccess(data, status, headers, config) {
}
function onError(data, status, headers, config) {
console.log('data = '+JSON.stringify(response, null, 2));
}
$http({
method: 'POST',
url: href,
headers: {'accept': acceptValue, 'content-type': contentType},
data: credentials
}).then(onSuccess, onError);
В ответе содержится в моем случае следующее:
{
"data": {
"code": 401,
"contactEmail": null,
"description": "The request requires user authentication",
"homeRef": "/",
"reasonPhrase": "Unauthorized",
"uri": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2"
},
"status": 401,
"config": {
"method": "POST",
"transformRequest": [
null
],
"transformResponse": [
null
],
"url": "http://localhost:8182/contacts/",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"data": {}
},
"statusText": "Unauthorized"
}
Что может помочь вам, чтобы взглянуть на содержимое ответа (заголовки/полезной нагрузки). Например, если полезная нагрузка представляет собой JSON, значение заголовка Content-Type
. Возможно, существует разрыв между Content-Type
ответа и фактическим содержимым. Например, вы получили из текстового содержимого с типом содержимого значения application/json
.
Я сделал тест, чтобы имитировать такой случай (содержание XML с типом application/json
контента), и у меня есть следующее сообщение об ошибке:
SyntaxError: Unexpected token <
at Object.parse (native)
at vc (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:15:480)
at Zb (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:82:229)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:83:143
at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:7:322)
at dd (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:83:125)
at d (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:84:380)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:119:113
at n.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:133:221)
at n.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:130:233)
Угловые пытается анализировать содержание JSON, но так как это неправильный формат, он не может и выдает ошибку.
Это похоже на вашу ошибку. Так что я думаю, что проблема не в вашем приложении, но Угловом на сервере ...
Надеются, что это помогает вам, Thierry
Это происходит только, когда запрос отклонена с ошибкой, скорее всего, проблема с сервером. – shmidtdan