0

我正在努力使用 XMLHTTPRequest API 从一个简单的文本文件中加载文本。

以下是我在开发中使用的技术列表:

  • 微软视觉工作室 2010
  • 微软 Internet Explorer 8

概述:我正在运行一个简单的 index.htm 页面,该页面通过输入类型的“按钮”调用脚本。API 从 JavaScript 分配到内存中的引用,并且在 API 状态更改时执行函数“onReadyStateChange”。

返回就绪状态 1(正在加载)并且没有返回任何状态。不再调用此函数的实例,向我表明状态在那之后没有改变。

提示:我倾向于认为这与资源的位置以及在注册网站上以 localhost 模式运行的应用程序有关,但我只是不知道。

HTML 代码:

<body>
<input type="button" id="getSome"  title="Andrew Graham" value="Bob" onclick="Get_ListTextFile();"/>

<script src="Scripts/index.js" type="text/javascript"></script>

</body>

JavaScript 代码:

var request= new XMLHttpRequest();

function Get_ListTextFile() {


    var uniformResourceLocator = 'Bob.txt';

    if (window.XMLHttpRequest = true) {

        request.open('GET', uniformResourceLocator,true);
        request.onReadyStateChange = ServerResponse();
        request.send();

    }

}

function ServerResponse() {

    var response;

    if (request != 'undifined') {

        if(request.readyState === 4 && request.status === 200){

            response = JSON.parse(request.responseText);

        }

    }

}

网页请求:http://*ls:1920/index.htm

*ls = 本地主机

文件内容:

鲍勃 1 鲍勃 2 鲍勃 3

4

1 回答 1

0

您准备好状态更改功能应为小写:

request.onreadystatechange = ServerResponse();

这是一个更可重用的更新版本:

var request = new XMLHttpRequest();

function load(url, callback) {
    if (window.XMLHttpRequest = true) {
        request.open('GET', url, true);
        request.onreadystatechange = function () {
            if (request.readyState === 4 && request.status === 200) {
                callback(request.responseText);
            }
        }
        request.send();
    }
}

load('/', function(data) {
    console.log(data);
});

http://jsfiddle.net/p6H2r/

于 2013-11-12T15:38:08.157 回答