[英]getting an error when fetching a json or xml data from a url using jquery-ajax
[英]Error in getting data from xml using AJAX
我正在使用AJAX从外部xml文件读取数据,但给出了错误“无效参数”,我正在使用IE 8
PFB代码:
var xhr;
xhr = new XMLHttpRequest();
xhr.open(“ GET”,“ C:/Users/abc/Desktop/Project/POC/ajax/Data.xml”,false);
xhr.onreadystatechange = function ()
{
if (xhr.readyState===4 && xhr.status===200)
{
var items = xhr.responseXML.getElementsByTagName('name');
var output = '<ul>';
for (var i=0; i<items.length; i++)
output += '<li>' + items[i].firstChild.nodeValue + '</li>';
output += '</ul>';
var div = document.getElementById('update');
div.innerHTML = output;
}
}
xhr.send();
粗线显示错误。 任何想法 ? 提前致谢
您应该使用url
而不是path
,例如change:
xhr.open("GET","C:/Users/abc/Desktop/Project/POC/ajax/Data.xml", false);
到,像
xhr.open("GET","http://localhost/your_Project/POC/ajax/Data.xml", false);
AJAX请求不适用于您需要在服务器上托管源以进行XMLHttpRequest调用的基于文件的URL
您正在向服务器创建GET
请求以GET
xml。 但是GET仅能理解HTTP请求,因此会引发错误。
要解决此问题,您应该将xml文件添加到解决方案或Web部署目录,然后使用浏览器地址进行请求,如果成功,则使用您的xhr对象进行处理。
我认为您应该将xml文件放在Web服务器上,并将xhr目标指向该文件url。 看起来像这样:
xhr.open("GET","http://localhost/yourpath/Data.xml", false);
包含您的js代码的基本html文件也应放在Web服务器上。
http://localhost/yourpath/basic.html
由于具有相同的来源策略,因此您不能将ajax请求从文件系统发送到Web服务器url,但是可以将请求从服务器A发送到服务器B,并且两个服务器应该在相同的来源,两者都是
http://localhost
等等
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.