繁体   English   中英

使用AJAX从xml获取数据时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM