0

バックエンドから API を持っています。ブラウザで直接 URL にアクセスすると、正しく応答が表示されますが、Ajax で読み込むと、常に502 Bad Gatewayエラーが発生します。

ページと API は同じドメインにあります:http://xx.comhttp://xx.com/api.

これは本当に奇妙です。どうしてこうなったのでしょうか。

更新: もう少し調べてみたところvar img = new Image(); img.src = url;、502 エラーが発生することさえありました。

4

1 に答える 1

1

このページが参考になるように、「アップストリーム サーバーとゲートウェイ/プロキシは、データを交換するためのプロトコルに同意しません。」この場合、Ajax リクエストが異なるヘッダー (異なる "Accept" ヘッダーなど) を指定し、プロキシと実際のバックエンドの間で異なるエンティティ タイプ (つまり、本文) が交換されるために、これが発生する可能性があります。Firebug や Chrome デバッガーなどのツールを使用して、通常のリクエストと Ajax リクエストの詳細を調べ、重要な違いを探し、必要に応じて Ajax リクエストにヘッダーを追加して、目的の結果を得ることをお勧めします。

于 2012-09-03T04:37:18.183 に答える