在GET上期待JSON结果时,Angularjs $ http“XML解析错误:找不到元素位置”错误

时间:2014-06-18 20:24:59

标签: ajax json angularjs

当我提交 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 doc中的Usage部分来确定如何配置调用。)

有没有办法可以强制将响应数据识别为json以避免错误?

2 个答案:

答案 0 :(得分:2)

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

在标题标签中,您可以查看正在发送和接收的内容类型。也许问题出在服务器端响应的内容类型中。

答案 1 :(得分:1)

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

要在nodejs上安装服务器

npm install -g http-server

然后转到(cd进入您的项目目录,然后:

http-server -o. -o

现在查看浏览器控制台。