0

这是我的问题。

1)我想创建一个 txt 文件(或可能是一个 html 文件)来保存一段信息,当用户单击一个单词时将其写入。这是我正在开发的游戏的一部分。

如果你去 www.w3schools.com 并去他们的“试试看”编辑器,他们有......

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp = XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
p = document.createElement("p");
p.innerHTML=xmlhttp.responseText;
document.getElementById("story").appendChild(p);
}
}
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="story"><h2>Let AJAX <i onclick=loadXMLDoc()>change</i> this text</h2></div>

</body>
</html>

这正是我希望我的程序做的事情(当然不是实际的话),但我正在运行带有外部 .js 工作表的 html。我应该将我的 ajax 存储在其他地方吗?或者,我的 .txt 文件看起来应该与其中的一堆单词不同吗?我完全糊涂了。

有趣的部分将是一旦它真正开始工作,我将不得不在 txt 文件中实现一个带有斜体的“onclick”事件。

如果有更好的方法来做到这一点,那么 appendChild(p.innerHTML("lfjhdfh")) 和 AJAX 请尽快让我知道。我总共有 11 周的时间来让这个东西为学校项目 LOL 工作。

4

1 回答 1

2

试试这个,它只是将文本附加到body元素的 HTML 中:

function getFileFromServer(url, doneCallback) {
    var xhr;

    xhr = new XMLHttpRequest();
    xhr.onreadystatechange = handleStateChange();
    xhr.open("GET", url, true);
    xhr.send();

    function handleStateChange() {
        if (xhr.readyState === 4) {
            doneCallback(xhr.status == 200 ? xhr.responseText : null);
        }
    }
}

function ajax() {
    getFileFromServer("Test.txt", function (text) {
        if (text === null) {
            // An error occurred
        } else {
            document.body.innerHTML += test;
        }
    });

}
于 2013-09-04T00:33:02.057 回答