如何使用 mootools 1.2.1 做一个简单的 http get ajax 风格
我正在尝试执行一个简单的 ajax GET,它从 google.com 返回 html,但在执行以下操作时,我不断遇到 onFailure。当我点击状态时,我得到一个 0,但是当我尝试输出响应文本时,我什么也得不到。
有人在 mootools 1.2.1 中做过这样的简单请求吗?
function addSomeAction() {
el.onclick = function() {
var uri = "http://www.google.com";
var myRequest = new Request({
url: uri,
method: 'get',
onRequest: function(){
alert("loading...");
},
onSuccess: function(responseText){
alert("hi");
},
onFailure: function(responseFail){
alert("fail: " + responseFail.responseText);
}
});
myRequest.send();
}
}
I'm trying to do a simple ajax GET that returns the html from google.com but with the following I keep hitting my onFailure. And when I hit status i get a 0, yet when I attempt to output the responseText I get nothing.
Anyone done a simple request like this in mootools 1.2.1?
function addSomeAction() {
el.onclick = function() {
var uri = "http://www.google.com";
var myRequest = new Request({
url: uri,
method: 'get',
onRequest: function(){
alert("loading...");
},
onSuccess: function(responseText){
alert("hi");
},
onFailure: function(responseFail){
alert("fail: " + responseFail.responseText);
}
});
myRequest.send();
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无论使用什么框架,都无法进行跨域 AJAX 请求。这是为了防止跨站点请求伪造 (CSRF) 攻击,并且是 Web 浏览器施加的限制。
因此,您只能获取与原始请求位于同一域的页面的 HTML 源代码。
有一些规范允许异步传输驻留在另一个域 (JSONP) 上的 JSON 数据,但在这种情况下它们不会为您提供帮助。
Regardless of the framework used, you cannot do cross-domain AJAX requests. This is to prevent Cross-Site Request Forgery (CSRF) attacks and is a limitation imposed by the web browser.
Therefore, you can only fetch the HTML source of a page which on the same domain as the originating request.
There are specifications allowing for the asynchronous transfer of JSON data residing on another domain (JSONP), but they will not help you in this case.