2016-08-02 64 views
0

考慮下面的ajax-在字符串中如何轉義字符

function validateVar(){ 
    $.ajax({ 
     url:"abc.do", 
     datatype:"text", 
     success:function(response){ 
      alert(response); //"asdjakd"fsd'f'fsf"s'dfs'df"fsdf"fsfsf"" 
     } 
    }); 
} 

迴應,我想逃避在響應報價的所有地方。

的jsfiddle:https://jsfiddle.net/ashwyn/3w0aj5z7/

+0

使用反斜槓不要使用'escape',它棄用 – Bergi

+0

?以什麼方式逃避?'encodeURIComponent'? –

回答

0

你可以用反斜槓來轉義字符\。所以要將你的字符串存儲在一個變量中,我們可以這樣寫。

var v = "asdjakd\"fsd\'f\'fsf\"s\'dfs\'df\"fsdf\"fsfsf"; 
+0

我不關心oc的位置性格的曲折。 – Ashwin

+0

哦,要逃脫的字符串是通過用戶輸入或其他東西傳遞的? –

+0

是的。它實際上是一個ajax調用的響應。再次檢查問題我已編輯。 – Ashwin

0

您無法以編程方式轉義字符串以使其成爲有效的JavaScript。

它必須是有效的JavaScript才能通過JavaScript解析器,然後才能通過JavaScript進行修改。

你必須在源代碼中修復它。

\字符開始在JavaScript字符串文字的轉義序列:

var v = "asdjakd\"fsd'f'fsf\"s'dfs'df\"fsdf\"fsfsf"; 
0

您需要轉義雙quotationmark "用反斜槓\

你的字符串應該是這樣的:

"asdjakd\"fsd'f'fsf\"s'dfs'df\"fsdf\"fsfsf"

0

您c使用反斜槓來解決這個問題 您需要爲相同類型的反向逗號(單或雙)添加反斜槓。

function validateVar(){ 
    var v = "asdjakd\"fsd'f'fsf\"s'dfs'df\"fsdf\"fsfsf"; 
    alert(v); 
} 

更新小提琴,那麼請在這裏:: https://jsfiddle.net/3w0aj5z7/1/

0

可以包括''""之間的字符串。 然後你必須對變量進行說明,其中引號不是與\之前的關閉引號。

在這種情況下:?

var v = ' "asdjakd"fsd\'f\'fsf"s\'dfs\'df"fsdf"fsfsf" '; 

之前「報價

var v = " \"asdjakd\"fsd'f'fsf\"s'dfs'df\"fsdf\"fsfsf\" "; 

之前」報價

相關問題