从自定义模块模式Javascript库调用XMLHttpRequest时没有任何反应

时间:2012-03-05 20:29:34

标签: javascript html firefox google-chrome xmlhttprequest

我想构建一个用于访问我的REST服务的小型库。作为一项实验,我决定创建一个小型JavaScript库来使用。

我在html 5页面中创建了以下Javascript:

<script src="myLibrary.js"></script>
<script>
    myLib.getStuff();
</script>

在myLibrary.js中我添加了:

var myLib = (function () {

    function getStuff () {

        alert("started getStuff...");

        var getRequest = new XMLHttpRequest();
        getRequest.open('GET', 'http://www.mozilla.org/', false);
        getRequest.send(null);

        if (getRequest.status === 200) {
            alert(request.responseText);
        }

        alert("finished getStuff...");
    }

    return {
        getStuff: getStuff
    };
})();

在最新版本的FireFox和Chrome for Mac中,我收到了“已启动的getStuff ...”警报,之后没有任何内容。目前尚不清楚为什么请求没有回应。我认为Chrome和FireFox支持XMLHttpRequest。

关于如何让这个工作的任何想法?

1 个答案:

答案 0 :(得分:3)

您正在尝试发出跨域请求,默认情况下,浏览器会出于安全原因阻止它们。

有几种方法可以解决它。您可以在您的域上使用代理,并将请求传递到远程站点。

或者,如果您还控制远程站点(并且可以处理一些跨浏览器的hackery),您可以使用CORS