1

私はフォームを持っています:

  <form id="pay_form"  action='@ConfigurationManager.AppSettings["LogonUrl"]' method="POST">
                <input type="hidden" name="Signed" value="">
                <input type="hidden" name="email" size="50" maxlength="50" value="">
                <input type="hidden" name="Language" value="en">
                <input id="pay_confirm_order" type="button" class="btn btn-large btn-primary pull-right" value="Submit"/>
     </form>

これは、フォーム送信を処理する js コードです。

 $(document).on('click', '#pay_confirm_order', function () {
        fillEpayForm();
    });

ユーザーがSumbitボタンをクリックすると、ajaxリクエストを行います:

function fillEpayForm() {
        var url = getCultureUrl('/pay/FillEpayForm?' + Math.random());

        $.ajax({
            type: "GET",
            url: url,
            cache: false,
            dataType: "json",
            success: function (data) {
                $('#pay_form').find('input[name="Signed"]').val(data.signedString);
                $('#pay_form').find('input[name="email"]').val(data.email);
                $('#pay_form').submit();
            },
            async: false
        });
    }

属性には外部 URL が含まれます (これは、action投稿要求を受け取る銀行サービスです)。フォームが送信されると、銀行のサイトが開きます。デスクトップブラウザとアンドロイドではすべて正常に動作します。しかし、iPad3 ではアドレス バーは変更されますが、ページは変更されません。これを解決するには?これは iOS6 のみの問題で、バージョン 5.1 ではすべて正常に動作します。

4

2 に答える 2

1

これを試して:

function fillEpayForm() {
    var url = getCultureUrl('/pay/FillEpayForm?' + Math.random());

    $.ajax({
        type: "GET",
        url: url,
        cache: false,
        dataType: "json",
        success: function (data) {
            $('#pay_form').find('input[name="Signed"]').val(data.signedString);
            $('#pay_form').find('input[name="email"]').val(data.email);
            $('#pay_form').submit();
        },
        async: false
    });
    return false;
}
$(document).on('click', '#pay_confirm_order', function () {
    return fillEpayForm();
});
于 2013-02-27T13:02:06.400 に答える
0

穴のビューをキャッシュするため、ipad で深刻な問題が発生しました。を使用して問題を解決しました

[OutputCache(Location = System.Web.UI.OutputCacheLocation.None, NoStore = true, Duration = 0, VaryByParam = "*")]

私のベースコントローラーの属性として、それはあなたを助けるかもしれません.

于 2013-02-27T13:06:48.447 に答える