对以下问题有所了解。我需要在AngularJS客户端中使用XML数据执行HTTP Post。我能够使用$ .ajax POST实现这一点:
$.ajax({
url: url,
type: 'POST',
data: data,
dataType: 'text',
success: function (result) {
alert(result);
},
error: function (jqXHR, tranStatus, errorThrown) {
alert('Status: ' + jqXHR.status + ' ' + jqXHR.statusText + '. ' +
'Response: ' + jqXHR.responseText);
}
});
但是,我无法弄清楚如何使用$ http或$ resource:
$http({
url: url,
method: 'POST',
data: data,
headers: {"Content-Type": "application/xml"}
}).success(function (result) {
alert(result);
}).error(function (error) {
alert(error);
});
其中url和数据是这样的:
url: 'http://192.168.1.3:8900'
data: "<PARENT><CHILD_1>1</CHILD_1><CHILD_2>Two</CHILD_2></PARENT>"
我已经对此进行了审核 from jquery $.ajax to angular $http
和Angularjs $http VS jquery $.ajax
并没有找到任何澄清我的困境。 CORS不是问题 因为它在我的浏览器(Chrome)中启用。使用$ http我只是得到 “angular.js:9814 OPTIONS http://192.168.1.3:8900/ net :: ERR_EMPTY_RESPONSE“。它立即出错。这可能与端口有关吗?主机网址在开发工具中看起来不错......
任何提示都将非常感谢!
编辑:我之前尝试过$ http的内容类型没有区别。我查看了POST-ing XML in AngularJS,问题与我的不同。我有很多其他$资源以及我的应用程序中的旧$ http调用以及跨域WebAPI的CORS调用,并且对angularjs有很好的体验。但是,我从未发布过XML - 总是json。