1

我正在使用 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(); 

粗体线给出错误。任何想法 ?提前致谢

4

4 回答 4

0

你应该使用urlnot 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);
于 2013-05-15T09:39:34.570 回答
0

AJAX 请求不适用于基于文件的 url,您需要在服务器上托管源以进行 XMLHttpRequest 调用

于 2013-05-15T09:40:44.870 回答
0

我认为您应该将 xml 文件放在 Web 服务器上,并将您的 xhr 目标指向该文件 url。看起来像这样:

xhr.open("GET","http://localhost/yourpath/Data.xml", false);

包含您的 js 代码的基本 html 文件也应该放在 Web 服务器上。

http://localhost/yourpath/basic.html

由于同源策略,您不能从文件系统向 Web 服务器 url 发送 ajax 请求,但可以将请求从服务器 A 发送到服务器 B,并且两台服务器应该同源,两者都是

http://localhost

等等

于 2013-05-15T09:54:42.643 回答
0

您正在GET为 xml 创建对服务器的请求。但是 GET 只理解 HTTP 请求,所以它会抛出错误。

要解决此问题,您应该将 xml 文件添加到解决方案或 Web 部署目录,然后使用浏览器地址发出请求,如果成功,则使用您的 xhr 对象进行请求。

于 2013-05-15T09:43:35.773 回答