javascript - 如何读取服务器端的文件?
本文介绍了javascript - 如何读取服务器端的文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
参见http://javascript.ruanyifeng....
var ajax = new XMLHttpRequest();
ajax.open('GET', 'http://www.example.com/page.php', true);
从本地端读取服务器端的文件。
下面有这样的场景:test.xml存放在 123.456.789.1 这台机器的 /tmp文件夹下面。
本机的浏览器是firefox,操作系统linux.
test.xml文件很简单
<?xml version="1.0" encoding="UTF-8"?>
<book>
<bookname>《Harry Potter》</bookname>
<author>J.K.Rowling</author>
<pages>590</pages>
</book>
我运行下面的代码为何没有反应?
<html>
<head><title>访问XML文档,获取图书信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function loadXMLDoc(docName)
{
var http = new XMLHttpRequest();
http.open("GET", docName, true);
http.send(null);
var xmlDoc = http.responseXML;
return xmlDoc;
}
function getBookInfo()
{
var xml = loadXMLDoc("http://123.456.789.1/tmp/test.xml");
var bookname = xml.getElementsByTagName("bookname")[0].firstChild.nodeValue;
var author = xml.getElementsByTagName("author")[0].firstChild.nodeValue;
var pages = xml.getElementsByTagName("pages")[0].firstChild.nodeValue;
document.getElementById("td_bookname").innerHTML = bookname;
document.getElementById("td_author").innerHTML = author;
document.getElementById("td_pages").innerHTML = pages;
}
</script></head>
<body>
<table style="width:200px;">
<tr><td>书名:</td><td id="td_bookname"></td></tr>
<tr><td>作者:</td><td id="td_author"></td></tr>
<tr><td>页数:</td><td id="td_pages"></td></tr>
</table>
<input type="button" value="获取图书信息" onclick="getBookInfo()" />
</body>
</html>
解决方案
路径你理解错了.
http://123.456.789.1/tmp/test.xml
表示的是123.456.789.1这台服务器的WEB服务器根目录下的/tmp/test.xml,
如果DOCUMENT_ROOT是/www目录, 那这URL表示的是 /www/tmp/test.xml 文件
不是主机的/tmp目录.
写个PHP文件, 把/tmp/test.xml读取输出就行了.
<?php
readfile('/tmp/test.xml');
这篇关于javascript - 如何读取服务器端的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文