2011-07-25 8 views
5

別のサーバにあるASPフォームに(パラメータ付きで)POSTコールをしました。クロスドメインAJAXポストコール

開発のために、私は同じサーバーでこれを行いましたが、完全に動作しますが、別のサーバーでテストしています.200ステータスを受け取る代わりに、0ステータスを受け取ります。

クロスドメインのAJAX呼び出しであると思いますが、それは変更された唯一のものです。どうすればこの電話をかけることができますか?この呼び出しを許可するためにサーバー/クライアントに置くことができるファイルはありますか(フラッシュなど)?

ありがとうございました!

+0

私たちはajaxコールのナトリーを知る必要があるかもしれません – dvhh

答えて

7

はい、あなたは

にあなたが接続するサーバーを変更することができますと仮定し、あなたがそれ以外Access-Control-Allow-Origin: http://yourdomain.com

を返し、あなたがアクセスするすべてのドメインを許可する場合 Access-Control-Allow-Origin: *を返すようにサーバーを必要とし Cross Origin Resource Sharing (CORS)

を実装することができます

アクセスしているサーバーを変更できない場合は、スクリプトの元のサーバーでプロキシを使用する必要があります。代わりに、APIを公開しているかどうか調べてJSONP

ここの

詳細

  • MSDN XDR、これの右側には、いくつかのリンクが

  • +1

    今のところサポートはかなり限られているようです。 – dvhh

    +0

    私はあなたのリンクを見ましたが、これらすべての "Access-Control-Allow-Origin"をどこに宣言すればいいのか分かりませんでした。 – J4N

    +0

    @dvhh - 最新のブラウザーであるFF3.5 + 、Safari5、IE8 +(XDRを使用) – mplungjan

    0

    あなたはどちらかできる質問(どのように)プロキシスクリプトを作成するか、jsonpを使用します。 あなたのサーバーでプロキシスクリプトを使用する方が簡単です。

    +0

    残念ながら、私はサーバー上の何かを変更することができません – J4N

    +0

    別の解決策は、代わりにiframeを使用するようにあなたのajax呼び出しを呼び出すことができます(残念ながらこれは少し犬です)。 – dvhh

    +0

    @dvhhしかし、彼はデータを送信でき、返信は受け取りません。 – mplungjan