Angularjs 在 GET 上期望 JSON 结果时$http "XML Parsing Error: no element found Location"错误



当我提交一个angularjs $http GET调用时,我收到一个XML解析错误。

$http调用代码片段如下:

$http({
    method: 'GET',
    url: "myapp/api/items" + itemId
 });

错误是:

XML Parsing Error: no element found Location: moz-nullprincipal:{f191853f-5581-b049-b83f-5f4b69211adb} Line Number 1, Column 1:

返回的数据是JSON。如果我把URL放在浏览器中,那么请求被提交,响应数据成功返回到浏览器中。

我尝试将responseType: 'json'(和responseType: 'application/json')添加到$http呼叫中,但没有成功。(我参考了angularjs http文档中的用法部分来确定如何配置调用。)

是否有一种方法可以强制响应数据被识别为json以避免该错误?

如果您使用的是Mozilla Firefox,请安装firebug并尝试在Net面板或Console面板中检查http GET。

在header选项卡中,您可以检查正在发送和接收的内容类型。问题可能出在服务器端响应的内容类型上。

可能是你在file:///中运行你的应用程序,因为这是AJAX请求,这可能发生。如果你已经安装了nodejs,你可以安装一个服务器并查看控制台日志。

在nodejs上安装服务器
npm install -g http-server

然后进入(cd)到你的项目目录,然后:

http-server -o. -o

现在看到浏览器控制台

相关内容

最新更新