2011-07-11 21 views
2

私はASP classicを使用しており、実際にフォームを持たずに投稿データを送信したいと考えています。ASPのフォームなしで投稿データを送信するClassic/VBScript

ここにシナリオがあります。ユーザーはPage1のフォームのコメントボックスに記入します。フォームは、Page2を使用してPage2のデータを送信します。 Page2は受信データを処理し、Response.Redirectメソッドを使用してPage1にリダイレクトします。ユーザーが間違って何かを記入した場合、このデータをPage1に転記して、入力した内容を失わないようにする必要があります。 Page2は実際にいつでもHTMLを表示するためのものではありません。これは単にコメント処理ページとして使用され、何に関係なく常にリダイレクトされます。これを行うためのより良い、または好ましい方法がありますか?

jQueryには、私が求めていることを実行できる.postメソッドがあります。しかし、私は本当にこれを私のASPページとどのように統合するのかは分かりません。私は、実際にHTMLページを一時的に表示してから、jQueryにページがロードされた後にリダイレクトを処理させる必要があると思います。これはまた、jQueryが抽出する値を持つフォームがあることを意味します。私はこれがおそらくOKの回避策だと思いますが、もし存在すれば、もっと "ネイティブ"な解決法を好むでしょう。

+2

正しいデザインは、ページ1で意味する最初の場所にAJAXを持つことです。AJAXにPage2にデータをポストし、応答を処理させることです。しかし、これは大きな変化です。時間がない場合は、以下のYotsが提案する回避策を確認してください。 –

+1

AJAXを避けたい場合は、Page1の状態を処理し、ServerXMLHTTPでPage1からPage2を呼び出します。 http://msdn.microsoft.com/en-us/library/ms766431(v=vs.85).aspx。 ServerXMLHTTPを使用すると、POSTを使用してPage2に変数を送信できます。 – Yots

+0

jQueryはこれのためのよりよい解決策です。 – pee2pee

答えて

0

システムによっては、Server.Transfer()が解決策になります。 Page2からPage1にServer.Tranfer()を実行すると、すべてのデータが再びそこにあります。ドキュメントから

転送方法は、第2のASP 1つのASPファイルで作成された(転送)すべての状態情報(全て アプリケーション/セッション変数、要求 コレクション内のすべてのアイテム)を送信しますファイル。

2番目のASPページでタスクが完了すると、最初のASPページ(Executeメソッドなど)は に戻りません。

注:Transferメソッドは、 Response.Redirectの効率的な代替です。リダイレクトにより、Webサーバーは余分な 要求を処理しますが、Server.Transferメソッドは実行をサーバー上の 別のASPページに転送し、余分なラウンドトリップを回避します。

+0

私はまだこれをテストしていませんが、これはかなり良い解決策だと思います。 「グローバル」な変数と定数、「グローバル」接続オブジェクトを扱う方法は私には分かりませんが、2つのページが共通して共有することがあります。 – HK1