0

ホームページがあります。ユーザーがフォームデータを送信した後、最初にデータをサードパーティのサーバーに送信したいと思います (API はありません。Web ページのみを提供します。つまり、サードパーティのサービスプロバイダー process.aspx ページにフォームを送信します)。結果が返ってきたら、コンテンツの一部を使用してレンダリングし、自分の唯一の Web ページで使用したいと考えています。サードパーティサーバーへのフォーム送信のデフォルトの動作は、フォームを送信した後、進行中の Web ページにリダイレクトされます。フォームの処理には時間がかかるため、最終的な検索結果 (result.aspx) が返される前に、この進行状況ページがユーザーに表示されます。

リダイレクトされずにサードパーティの最終検索結果ページのみを使用するために、次の方法を試しましたが、さまざまな理由でうまくいきませんでした。

  1. クライアント側では、非表示の iframe を使用しましたが、iframe のセキュリティ上の制約により、ドメインが同じではない (クロスドメイン通信はiframe の使用は許可されていません)

  2. サーバーからサードパーティの Web サーバーにフォームを送信するために curl を使用して、フォーム データをサーバーに送信します。問題は、curl が返される結果が進行状況ページであるということです。一方、curl はブラウザーとして JavaScript を実行できません (進行状況ページには JavaScript があります)。進行状況ページを実行して最終価格ページを取得できませんでした。

  3. クライアント側でAjaxを使用すると、同じ問題が発生します。リクエストページとホームページが同じオリジンからのものではないため、「Access-Control-Not-Allowed」ではクロスドメイン通信が許可されません。

  4. (効率的ではありませんが、オプションです)サーバーでhtmlunitのようなブラウザレスツールを使用するため、Javaプログラムを使用して最終価格ページを取得できました. しかし、問題は、Web サーバー (Web サービス プロバイダーによって提供される) で Java プログラムを実行することが許可されていないことです。

私がやりたいことを達成することは可能ですか?絶望的な今...何か提案はありますか?

4

0 に答える 0