2011-07-06 8 views
0

が含まれています。JavaScriptへのPOSTデータには

<script src="http://example.com/script.js"></script> 

srcにデータを投稿するにはどうすればよいですか? AJAXまたはjQueryを使用することは、クロスドメインで動作させることができない限り、おそらくオプションではありません。

+1

なぜそれをしたいですか? script.jsは静的なファイルではありませんか? – Brad

+0

POSTを簡単に行うことはできませんが、簡単な方法でGETパラメータを送信できます。なぜPOSTが必要ですか? – Qtax

+0

JSONP API用です。 – Gus

答えて

1

データを送信してコンテンツのクロスドメインを取得することはできません。それはセキュリティ問題です。

あなたはおそらくすでにこれを実現していますが、URLにそれを追加することによって、GET要求を行うことができます。

<script src="http://example.com/script.js?key=value&key2=value"></script> 

また、サイトからのクロスドメインリクエストを取得するためにプロキシを使用することができます。このプロジェクトは有望に見えます:https://github.com/jamespadolsey/jQuery-Plugins/tree/master/cross-domain-ajax/

しかし、これはyahooのサーバーを通じてGETリクエストもサポートするようです。

唯一実行可能なオプションは、フィルタリングできるPHP(他の他の言語)プロキシを作成することです。 phpのcurl APIを使用することは難しいことではありません。他のサーバースクリプト言語には同等のものがあります。

+0

ちょっと不思議なことに、POSTリクエストの内容を取得するのがGETリクエストの内容を取得するよりもセキュリティ上の問題が多いのはなぜですか? – Gus

+0

実際には両方ともセキュリティ上の脅威であり、実際にGETリクエストの内容を取得することはできません。スクリプトタグを使用してリモートスクリプトを呼び出すことができます。私がリンクしているgithubプロジェクトには、yahooがAPIに課す制限があるため、GETリクエストのみを取得する能力/制限があります。 githubプロジェクトは実際にyahoosサーバーを介してプロキシです。これらのセキュリティ問題を回避するためにJSONPが作成されました。スクリプトタグを使用してhttp://stackoverflow.com/questions/2067472/please-explain-jsonp – William

関連する問題