我有一个像这样的ajax设置:
var $ = function(id) {return document.getElementById(id);};
var ajax = {
send: function(url, callback, method, data, async) {
var x = new XMLHttpRequest();
x.open(method, url, async);
x.onreadystatechange = function() {
if (x.readyState == 4) {
callback(x.responseText, x.status);
}
};
if (method == "POST") {
x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
}
x.send(data);
},
query: function(data) {
var query = [];
for (var key in data) {
query.push(encodeURIComponent(key) + "=" + encodeURIComponent(data[key]));
}
return query.join("&");
},
get: function(url, data, callback, async) {
ajax.send(url + "?" + ajax.query(data), callback, "GET", null, async);
},
post: function(url, data, callback, async) {
ajax.send(url, callback, "POST", ajax.query(data), async);
}
}
这是我调用来接收 txt 文件内容的函数:
function update(text) {
var d = $("display");
ajax.get("chat.txt", {}, function(t) {
d.innerHTML = t;
d.scrollTop = d.scrollHeight;
}, true);
}
但这不起作用,并且总是显示一小时前在 txt 中的旧文本。
所以我找到了另一个解决方案:
function update(text) {
var d = $("display");
ajax.get("display.php", {}, function(t) {
d.innerHTML = t;
d.scrollTop = d.scrollHeight;
}, true);
}
,调用PHP文件,代码为:
<?php
echo file_get_contents("chat.txt");
?>
为什么我不能直接调用txt???
它以前在其他 php 项目中工作过。
我使用 WAMP 服务器 2。
最佳答案
考虑到您在本地主机上使用 WAMP,请右键单击/www/目录,然后依次单击“属性”和“安全”,为您的/www/目录授予完全权限。
关于javascript - Ajax 文本文件不工作,但 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27201142/