我想建立一个小的库来访问我的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
};
})();
在Mac的最新版本的FireFox和Chrome中,我收到“ started getStuff ...”警报,然后此后什么也没有。目前尚不清楚为什么请求没有响应。我认为XMLHttpRequest在Chrome和FireFox中受支持。
关于如何使它起作用的任何想法?
最佳答案
您正在尝试发出跨域请求,出于安全原因,浏览器默认会阻止它们。
有几种解决方法。您可以在您的域上使用代理,并将请求传递到远程站点。
或者,如果您还控制远程站点(并且可以处理一些跨浏览器的黑客行为),则可以使用CORS。