Я хотел бы указать dataType: 'json'
как в обычном jQuery $.ajax
.
Возможно ли это с помощью Angular.js $http.post
?
Как указать dataType: 'json' в Angular.js $http.post?
Ответ 1
Из http://docs.angularjs.org/api/ng.$http
Преобразование запросов и ответов Оба запроса и ответы могут быть преобразованы с использованием функций преобразования. По умолчанию Angular применяет следующие преобразования:
Преобразования запроса:
если свойство данных объекта конфигурации запроса содержит объект, сериализуйте его в формате JSON. Преобразования ответов:
если обнаружен префикс XSRF, разделите его (см. раздел "Вопросы безопасности" ниже)
- , если обнаружен json-ответ, десериализуйте его с помощью анализатора JSON
Поэтому нет необходимости устанавливать тип данных, это делается автоматически
Ответ 2
Вы можете использовать объект HTTP Config для установки заголовков:
$http({
method: 'POST',
url: 'somewhere.xyz',
headers: {
'Content-type': 'application/json'
}
})
Ответ 3
У меня была та же проблема, responseType:'json'
решил проблему
Вы можете использовать responseType: 'json' вместо dataType: 'json'
var promise = $http({
method: 'POST',
url: 'somewhere.xyz',
responseType:'json'
});
Для дальнейших ссылок https://docs.angularjs.org/api/ng/service/$http#methods_jsonp