14

dataType: 'json'想像传统的 jQuery一样指定$.ajax。Angular.js 有可能$http.post吗?

4

3 回答 3

20

您可以使用 HTTP Config 对象来设置标头:

$http({
    method: 'POST',
    url: 'somewhere.xyz',
    headers: {
        'Content-type': 'application/json'
    }
})
于 2013-03-04T16:20:36.763 回答
5

来自http://docs.angularjs.org/api/ng.$http

转换请求和响应 请求和响应都可以使用转换函数进行转换。默认情况下,Angular 应用这些转换:

请求转换:

  • 如果请求配置对象的 data 属性包含对象,则将其序列化为 JSON 格式。响应转换:

  • 如果检测到 XSRF 前缀,则将其剥离(请参阅下面的安全注意事项部分)

  • 如果检测到 json 响应,则使用 JSON 解析器对其进行反序列化

因此无需设置数据类型,它会自动完成

于 2013-03-04T15:32:40.663 回答
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

于 2015-10-20T08:08:48.893 回答