如何指定dataType:' json'在Angular.js $ http.post?

时间:2013-03-04 15:27:30

标签: ajax json angularjs

我想在传统的jQuery dataType: 'json'中指定$.ajax。 这是否可以使用Angular.js $http.post

3 个答案:

答案 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