我想检索文件的完整路径并将其传递给javascript。要求是我需要使用JavaScript检索XML文件。
答案 0 :(得分:1)
如果您事先知道确切的文件,则可以创建服务器端程序(即服务)来读取文件,解析并输出。
然后你只需要编写一些Javascript来对这个服务进行AJAX调用(查看一个类似Prototype或JQuery的Javascript库)来读取服务的输出,从而读取文件的内容。
答案 1 :(得分:1)
如果是相对于您的网页可以访问的文件,请执行以下操作:
var xmlDoc=new ActiveXObject("MSXML.DOMDocument");
xmlDoc.async="false";
xmlDoc.load("abc.xml");
假设您的网页旁边是abc.xml ...
这没有说明如何获取XML的完整路径 - 你还需要它还是加载它就足够了?
对于跨浏览器(来自:http://developer.apple.com/internet/webcontent/xmlhttpreq.html)
var req;
loadXMLDoc("abc.xml");
function loadXMLDoc(url) {
req = false;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
if(req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send("");
}
}
function processReqChange() {
// only if req shows "loaded"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
// ...processing statements go here...
alert(req.responseXML);
} else {
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
}