0

新しい支払い処理業者に対応するために変更する必要がある古いアプリがあります。アプリは Asp.Net です。アプリを再構築せずに(予算内ではありません)、現在のように最終的なフォームを取得し、そこから情報をコードビハインドに保存する必要があります。次に、同じフォームをサードパーティの URL に送信する必要があります。理想的には、エンド ユーザーへの 1 つのボタン プッシュとして。

私はこれを行う方法で完全な空白を描いています。助言がありますか?


JQuery と JavaScript はどちらもソリューションに有効なツールであることを忘れていました。

4

3 に答える 3

1

現在、コードを介して結果を保存していますか?まあ、実際の ASP 投稿を行う前に、フォームの値を読み取って (jquery などを使用して) 投稿する JavaScript をページに配置することでハッキングできます。

編集(このようなものが役立つ場合があります(場合によっては):

//change the action of the form (you could just change in code or this
$('#myform').attr('action','http://newpaymentproc.com/me/');

//override the default submit
$('#myformsubmitbutton').click(function(){
    //extract the form data somehow (depends on form)
    var formObj;
    $.each($('#myform').find('input').serializeArray(), function(i, field)   {
        formObj[field.name] = field.value;
    });

    //post to old place
    $.post('/old_current.asp', formObj).then(
        //after posting to old place and getting response...
        //submit form to new payment processor
        $('#myform').submit()

    );

    // Cancel the actual form submit click to give time for post
    return false;
});

もう 1 つの方法は、(送信後に) レガシー コードにデータを含むフォームを吐き出させ、JavaScript を使用してページの読み込み時に送信をトリガーすることです。

于 2013-10-24T21:17:14.070 に答える
1

フォーム送信ボタンのクリック イベント、またはフォームの送信イベントにバインドされた JavaScript 関数を作成できます。この関数は、デフォルトのフォーム送信が起動されないようにする必要があります。jQuery を使用してフォーム データをシリアル化し、同期 AJAX 要求を作成してデータをサード パーティに送信します。ajax 送信が完了したら、コード ビハインドへのフォーム送信をトリガーできます。ajax が適切に送信されない場合は、必要に応じてコード ビハインドへのフォーム送信を中止できます。

XSS セキュリティを考慮する必要がある場合があるため、クロスオリジン リソース共有と Access-Control-Allow-Origin ヘッダーを調べてください。

もう 1 つのオプションは、コード ビハインドを http クライアントとして動作させ、フォーム データをサード パーティに送信することです。

于 2013-10-24T21:26:36.337 に答える
0

元のプロセスが完了したら、送信されたフォーム データを取得して、使用している URL にプッシュします。元のアプリで最小限の変更が必要です。

続けるコードがないので、与えるコードはありません。それが役立つことを願っています!

于 2013-10-24T21:16:39.937 に答える