0

現在、Internet Explorer での jQuery メソッドserialize()に問題があります。他のブラウザーでは問題なく動作しています。

まず、フォームを変数に格納します。

var oForm = document.forms["couponForm"]; 

次に、それをシリアル化し、パラメーターとして ajax 呼び出しに渡します。

new Ajax.Request(sURL, { asynchronous : false, method : 'post',
                parameters : oForm.serialize(true),
                onComplete : function(p_oRequest){

                },
                onException : function(p_oRequest, p_oException) {
                    throw p_oException;
                },
                onLoaded : function() {}
                });

しかし、Internet Explorer コンソールにエラーが表示されます。

SCRIPT438: オブジェクトはプロパティまたはメソッドのシリアル化をサポートしていません。

serialize は IE でサポートされているはずですか?

4

1 に答える 1

2

フォームにはcouponFormという名前を付ける必要があります

<form action="" method="post" name="couponForm">
</form>

リクエストにカンマ(、)が含まれているかどうかを確認してください。最後の項目の終了後にコンマを入れてはなりません。InternetExplorerの厳密なチェックです。

最後の項目の後にコンマを使用しないでください

{ 
asynchronous : false, 
method : 'post',
parameters : oForm.serialize(true),//Dont use comma here
}

代わりにカンマなしで使用してください

{ 
asynchronous : false, 
method : 'post',
parameters : oForm.serialize(true)//The last item must not be ended with a comma.
}
于 2013-03-07T16:27:23.557 に答える