我想指定dataType: 'json'
与传统的jQuery $.ajax
一样。 这可能与Angular.js $http.post
?
回答
从http://docs.angularjs.org/api/ng.$http
转化请求和响应 请求和响应可使用变换函数进行变换。如果请求配置对象的数据属性包含一个对象,序列化到JSON格式
:默认情况下,角适用这些转变:
请求转换。 响应变换:
如果检测XSRF前缀,剥离它(见下面的安全考虑部分)
- 如果检测JSON响应,反序列化使用JSON解析器
它所以不需要设置数据类型,它自动完成
您可以使用HTTP配置对象来设置标头:
$http({
method: 'POST',
url: 'somewhere.xyz',
headers: {
'Content-type': 'application/json'
}
})
好,我只在之前扩展评论。如果您要发送json对象作为服务器端的响应,则需要始终设置标头。正常的经典打印({id:11})可能会导致错误。安装标题的内容类型为json,应该可以正常工作。 Cya – daremachine 2013-05-22 21:14:26
ARGGGGH老兄,你刚刚救了我的一天!我一直拉着我的头发,想知道为什么我的Node/Express4不会解析POST数据......事实证明,我必须在我的角$ http请求中加上头部内容类型......上帝该死! – Spock 2014-07-02 15:19:43
由于是默认设置,因此不需要设置上述内容。请参阅:https://docs.angularjs.org/api/ng/service/$http#setting-http-headers。事实上,这有助于你,可能表明你的代码是将默认的标题设置到另一个值。 – 2017-04-21 18:19:02
我有同样的问题,responseType:'json'
解决问题
可以使用的responseType:不是的dataType 'JSON': 'JSON'
var promise = $http({
method: 'POST',
url: 'somewhere.xyz',
responseType:'json'
});
更多参考 https://docs.angularjs.org/api/ng/service/$http#methods_jsonp
在https://docs.angularjs.org/api/ng/service/$http#usage中,reponseType会引导您访问https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#xmlhttprequest-响应类型,使其听起来像服务器Content-Type的覆盖,注意:“当将responseType设置为特定值时,作者应确保服务器实际发送的响应与该格式兼容。如果服务器返回的数据与设置的responseType不兼容,则响应值将为空。“ – 2017-04-21 18:17:26
- 1. Angular.js xeditable $ http.post数据处理
- 2. angular.js $ http.post不是在手机工作
- 3. angular.js $ http.post不工作 - 没有错误
- 4. 如何使angular.js $ http.post发送具有未定义字段的对象
- 5. 如何实现jQuery.ajax(dataType:json)春天mvc 2.5
- 6. Angular.js $ http.post类型错误:无法读取未定义
- 7. 如何在angular.js中的指令模板中插入新行?
- 8. 如何在angular.js中将指令链接在一起?
- 9. 如何在Angularjs中传递参数$ http.post
- 10. 如何在AngularJS中的$ http.post后推送
- 11. 如何使用两个angular.js指令?
- 12. Angular.js如何从指令更新范围?
- 13. 如何使用http.post
- 14. 如何在Angular.JS指令中导入模板?
- 15. angular.js指令在不同模块中
- 16. 在angular.js指令中使用video.js
- 17. Angular.js + require.js + jQuery插件自定义指令
- 18. angular.js指令templateUrl无法绑定范围
- 19. 在$ http.post
- 20. 如何将指令的属性绑定到Angular.js中的下拉列表中?
- 21. Angular.js取消绑定()事件
- 22. Angular.JS - 一个指令中的指令,在指令中,指令内。范围问题
- 23. 如何angular.js
- 24. 如何angular.js
- 25. 如何Angular.js
- 26. 如何读/从angularjs $ http.post
- 27. 如果声明在Angular.js中的自定义占位符指令内
- 28. 如何parseInt函数在Angular.js
- 29. angular.js中的KendoUI - 如何更新多个指针值
- 30. 如何将集合传递给angular.js中的指令?
问题在于服务器根据dataType响应HTML/XML/JSON。 URL总是相同的。 – Paul 2013-03-04 15:51:46
@Paul你在谈论'Accept'标题。 – Musa 2013-03-04 15:54:10
我在说'Content-type'在请求 – Paul 2013-03-04 16:12:51