2016-04-13 4 views
0

ajax呼び出しで.csコードにあるようにNewText値を渡したいと思います。エスケープアポストロフィをそのままvarに渡す方法はjavascriptで置き換えることはありませんか?

**var NewText ="D'souza";** 
     $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "frmLabel.aspx/getText", 
       data: **"{newtext:'" + NewText + "'}",** 
       dataType: "json", 
       async: false, 
       success: function (gridData) { 
        text = gridData.d; 
       }, 
       error: function (xhr, status, error) { 
        var err = eval("(" + xhr.responseText + ")"); 
        alert(err.Message); 
       } 
      }); 
+0

' "D \ 'ソウザが "' –

+0

はい、私が試したよう –

+0

この VARデータ= {" をnewText": "D'Souza氏を"}試してみてください、あなたはアポストロフィをエスケープしようとしたんでした、 ペイロード= JSON.stringify(data); $ .ajax({ ... データ:ペイロード、 .... }); –

答えて

3
**var NewText ="D\'souza";** 

利用 『encodeURIComponentで(をnewText) '

+0

その動作しません –

+0

throws認識できないエスケープシーケンスデータ: "{newtext: 'D \' souza '}" –

+0

"D \\' souza"を使用してみてください – boomcode

0

のみアポストロフィをエスケープする可能性がより良い代替手段の使用に指定された文字列をエンコードすることであろう』。

0

'をエスケープする必要があります。

var NewText ="D\'souza"; 

またはtemplate stringsを使用してください。

var NewText = `D'souza`; 
... 
... 
data: `{newtext:'${NewText}'}`, 
+0

テンプレート文字列はES6 –

関連する問題