2017-08-01 14 views
0

JQueryを使用してフォームデータを送信します。私の分野の中にはアポストロフィが許されています。サーバー側では検証があり、失敗していることがわかりました。私がアポストロフィで私の議論の一つから価値を出した後、私は引用の違いを見た。次に例を示します。serialize()フォームフィールドをアポストロフィー文字に置き換える方法JQuery/Ajax?

'D’Ambrosio' 

あなたは前とD手紙はそのフィールドの私の引数の値から来た後、私はテストのための出力が、1つの引用符/アポストロフィで入力した最後に単一引用符を見ることができるように。私はこの問題をどのように修正できるのだろうか?この変換を防ぐ方法はありますか?ここに私のAJAX呼び出している:

var formData = $('#'+frmID).serialize(); 

$.ajax({ 
    type: 'POST', 
    url: 'Components.cfc?method='+frmID, 
    data: formData, 
    dataType: 'json' 
}).done(function(obj){ 
    if(obj.STATUS === 200){ 
     //Here I handle response 
     return true; 
    }else{ 
     return false; 
    } 
}).fail(function(jqXHR, textStatus, errorThrown){ 
    alert(errorThrown); 
}); 

ここでは私のシリアル化データの一例である:

frm_lname John' 
frm_fname Boozer 
frm_dob 08/01/2010 
+0

それは簡単な修正は、単にFORMDATA変数にシリアライズ後の文字をエスケープすることであろうだけでアポストロフィ文字だ場合。単純なformData.replace( "'"、 "\'") – zfrisch

+0

@zfrisch私は試しましたが、フォームを提出した後も引用符/アポストロフィが異なります。 –

+0

よろしいですか?あなたはダミーのシリアライズされたフォームデータを提供してくれますか? – zfrisch

答えて

0

、あなたのデータを送信する前に、あなたの文字列をエンコードし、サーバー上でそれらをデコードすることができます。これは引用符のような "魔法" /予約文字を保存するのに役立ちます。

alert(encodeURIComponent('D’Ambrosio'));

関連する問題