AJAX 呼び出しがローカル ホストで正常に動作している場合、ホスト サーバーでの動作を妨げる可能性のあるものは何ですか? AJAX 呼び出しからエラーを返そうとしましたが、「未定義」しか返されません。ログに情報が追加されていないため (そして明示的に呼び出しを追加したため)、実際のページ メソッドが呼び出されているとは思いません。ローカル マシンで問題を再現できないので、調べる必要がある可能性のある領域を知っている人はいますか?
ありがとう
AJAX 呼び出しがローカル ホストで正常に動作している場合、ホスト サーバーでの動作を妨げる可能性のあるものは何ですか? AJAX 呼び出しからエラーを返そうとしましたが、「未定義」しか返されません。ログに情報が追加されていないため (そして明示的に呼び出しを追加したため)、実際のページ メソッドが呼び出されているとは思いません。ローカル マシンで問題を再現できないので、調べる必要がある可能性のある領域を知っている人はいますか?
ありがとう
ブラウザにある URL と、Ajax 呼び出しがヒットしている URL は? ブラウザには、クロス ドメイン AJAX 呼び出しを許可しない「セキュリティ」制約があります。たとえば、ローカル ファイルをロードしている場合:
http://localhost:20080/myCustomPage.html
そのページ内で ajax 呼び出しを行います
http://search.twitter.com/search?q=test
ブラウザからセキュリティ警告が表示されます。ブラウザによっては、これが下隅の警告アイコン (IE) または javascript ログ (firefox) のエラーとして現れる場合があります。
1 つの特定のケースでこれを回避する方法があります。その場合は、GET リクエストです。「ajax」呼び出しを行う代わりにこれを行うには、タグを含めます。そのスクリプト タグが読み込まれ、読み込まれます。ここでのキャッチは、呼び出しの結果で呼び出される、あなたの側で実装できる「コールバック」メソッドを含める必要があるということです。
したがって、次のような応答の代わりに:
{
"first_name": "peter",
"last_name": "parker"
}
あなたは戻る必要があるでしょう
myCallBackFunction({
"first_name": "peter",
"last_name": "parker"
});
この例では JSON を使用していますが、関数が呼び出される限り、XML、HTML、またはその他の結果形式を簡単に使用できます。
myCallbackFunction("INSERT RESPONSE TEXT HERE")
このメソッドは一般にJSONPと呼ばれ、クライアントの観点から jquery などの一般的な JavaScript ライブラリに実装されています。サーバー側を制御する場合は、callBackFunction ラッパーをハードコーディングするか、クライアントが設定できるパラメーターを公開する必要があります。残念ながら、ライブラリを所有していない場合、サービスの所有者がその機能を既に提供していない限り、できることはあまりありません。幸いなことに、このようなことを行う Web 2.0 サービスのほとんどは、すでにその機能を実装しています。
私はそれを修正することができました。IIS7 を統合モードで実行すると問題が発生しました。すべてのモジュールを to と my to に移動しました (これもセクションにあります)
それが他の誰かに役立つことを願っています。