jqueryなどのフレームワークを使わず、jsのスクリプトハックアップでクロスドメインリクエストを行いたいです。JSON をクロス ドメイン サービスに投稿し、コールバックを使用して結果を取得したいと考えています。プレーンなjavascriptで可能ですか?
1738 次
3 に答える
0
私は今日、この同じ問題に取り組んでおり、CORS に関するいくつかの優れたチュートリアルに出くわしました。
http://www.html5rocks.com/en/tutorials/cors/
http://websitez.com/javascript-cross-domain-post-get/
基本的に、javascript が XMLHttpRequest リクエスト (この例では POST を想定しています) を送信しようとすると、クロスドメインは最初に POST リクエストで送信したいメソッドとヘッダーを含む OPTIONS リクエストを送信します。リモート ドメインは適切なヘッダーで応答し、クライアントに要求を受け入れることを伝えます。これは「プリフライト」リクエストと呼ばれます。POST 要求で同じ応答ヘッダーを返す必要があることを覚えておいてください。そうしないと、200 応答コードが返されますが、コードはそれをエラーとして表示します。
于 2012-06-20T19:01:40.480 に答える
0
このようなものを使用できます。
var url = "http://sitename.com";
var params = "params1=value¶ms2=value2";
var httpc = new XMLHttpRequest();
httpc.open("POST", url, true);
httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpc.onreadystatechange = function() {
if(httpc.readyState == 4 && httpc.status == 200) {
var responseType = httpc.getAllResponseHeaders();
if(responseType.indexOf("application/json") != -1) {
alert(httpc.responseText);
}
}
}
httpc.send(params);
于 2012-06-20T09:26:10.883 に答える