我想在传统的jQuery dataType: 'json'
中指定$.ajax
。
这是否可以使用Angular.js $http.post
?
答案 0 :(得分:19)
您可以使用HTTP Config对象设置标题:
$http({
method: 'POST',
url: 'somewhere.xyz',
headers: {
'Content-type': 'application/json'
}
})
答案 1 :(得分:5)
来自http://docs.angularjs.org/api/ng.$http
转换请求和响应 可以使用变换函数来变换请求和响应。默认情况下,Angular应用这些转换:
请求转换:
如果请求配置对象的data属性包含对象,请将其序列化为JSON格式。 响应转换:
如果检测到XSRF前缀,请将其删除(请参阅下面的安全注意事项部分)
- 如果检测到json响应,则使用JSON解析器对其进行反序列化
因此无需设置自动完成的数据类型
答案 2 :(得分:4)
我遇到了同样的问题,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