2011-07-11 7 views
0

私は、google.comからhtmlを返す単純なAjax GETを実行しようとしていますが、以下ではonFailureを続けています。私がステータスをヒットしたとき、私は0を返しますが、私はresponseTextを出力しようとすると何も得られません。mootoolsを使用して簡単なhttp get ajaxスタイルを行う方法1.2.1

誰も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(); 
         } 
        } 

答えて

1

フレームワークに関係なく、クロスドメインのAJAXリクエストは実行できません。これは、クロスサイトリクエスト偽造(CSRF)攻撃を防止するためであり、Webブラウザによって課せられた制限です。

したがって、元の要求と同じドメイン上のページのHTMLソースのみを取得できます。

別のドメイン(JSONP)に存在するJSONデータの非同期転送を可能にする仕様がありますが、この場合は役に立ちません。

+0

彼は、1. curlを使ってリモートURLを取得するローカルプロキシを使用することができます。 2. JSONP経由のYQLですが、これは最も功績のあるサービスではありません。 3.「Access-Control-Allow-Origin」があります.www.enable-cors.orgですが、Googleとは関係ありません:) –