2011-08-01 11 views
1

私のPHPファイルからの応答を送受信するために$ .getを使用しています。 私はget-ratings.phpにアクセスすると、通常の応答を出力します。 jqueryを使用すると、完全に失敗します。

これらは、放火犯のログがある

のparams:

ids fymCtKsm71o,C-4JaNph8Lw,wjdUA2Ws7To,8MTKCig_8SM,2EGJzw3ksYo,vs7NPsSiNv4,MhfJs6ZyWtQ,5QJnPIOqqdw,1lh9rsqOoVM,uMPQTvmOzMM,wpZHXP-hbnU,qUQsKUglv0g,Zt1Z7TYztcA,3UrXj43ORPg,YWSG9Mo4GQQ,LCqr4ZU0t3M,71YsRO6G7Ks,8HZPb7ulu08,rnkn1lVGE2Q,bRNkJM264Kk,nbsmonNnbBQ,HsTlpMPWHlA,FbsgHbXubGU,D9DkciMTsLI,2j3afn_On6I,ofmSvHGCPQE,EBWo-F2G4Wg,b5pGmQXQdF8,v-1EaCwJkKk,ccGKGkkhGZo,JYArUl0TzhA,VwMSsicKRYI,hy4hKG1A0T8,21y8qdoAUI8, 

ヘッダ

Date Mon, 01 Aug 2011 21:41:31 GMT 
Server Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 
X-Powered-By PHP/5.3.6 
Keep-Alive timeout=5, max=100 
Connection Keep-Alive 
Transfer-Encoding chunked 
Content-Type text/html 
Request Headers 
Host  
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 
Accept */* 
Accept-Language en-us,en;q=0.5 
Accept-Encoding gzip, deflate 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive 115 
DNT 1 
Connection keep-alive 
Referer 
Origin 

応答は、それが赤いx

200 OK 9.23s 
でこれを持って、空とURLの隣にあり

単純な行のテキストを出力するようにphpファイルを設定しても、失敗します。

は、これは私が私がホストされているのget-ratings.phpとは異なるドメインに含まれるjavascriptファイルからこのコードを呼び出しています

 $.get("get-ratings.php", { ids:vidIds.trim(",") }, function(data){ 
      console.log("MADE IT: " + data); 
     }); 

を使用していますjqueryのコードです。

Iveは$ .postと$ .ajaxを使用しようとしましたが、どちらも失敗しました。

答えて

2

通常、クロスドメイン要求は失敗します。 getJSONを使用します。

1

クロスドメインポリシーの制限現在のブラウザでは、ページがホストされているドメイン以外のドメインへのXHR要求は許可されません。

PHPファイルにアクセスできる場合は、JSONPのような手法を使用できます。 AJAXではなく、新しいスクリプト要素を作成し、phpファイルのパスをソースとして設定し、スクリプト要素を資料。そして、PHPファイルで、 "javascript関数"で出力をラップします。

var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script.src = "get-ratings.php"; 
$("head").append(script); 

新しいJS関数を作成します

window.complete = function(data){ 
    //do your stuff here with data received; 
} 

、最終的にはPHPコード

instead of just "echo $data", use 

echo "complete('.$data.')"; 
関連する問題