我想构建一个用于访问我的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。
关于如何让这个工作的任何想法?
答案 0 :(得分:3)
您正在尝试发出跨域请求,默认情况下,浏览器会出于安全原因阻止它们。
有几种方法可以解决它。您可以在您的域上使用代理,并将请求传递到远程站点。
或者,如果您还控制远程站点(并且可以处理一些跨浏览器的hackery),您可以使用CORS。