Ajax文本文件不起作用,但PHP

时间:2014-11-29 10:17:01

标签: javascript php ajax

我有这样的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 Server 2.

1 个答案:

答案 0 :(得分:0)

考虑到您在localhost上使用WAMP,请右键单击它并单击Properties然后单击Security,为/ www /目录提供完全权限。