1. 程式人生 > >Uncaught SyntaxError: Invalid Unicode escape sequence異常處理

Uncaught SyntaxError: Invalid Unicode escape sequence異常處理

turn 斜杠 出現 執行 delet esc ali title ptp

  今天碰到一個問題,頁面報錯:Uncaught SyntaxError: Invalid Unicode escape sequence

,{index:operate,name:operate,label:<s:text name="com.vrv.cems.ptp.installSoft.operate"></s:text>,width:getPerWidth(0.1),
    formatter:function(value,rec,index){
        return <img onclick="uninst(this,\‘+index.uninstallMode+
\‘,\‘+index+\‘)" title="<s:text name="cems.unInstall"></s:text>" src="${basePath}/images/ptp/delete.png" width="16px" height="16px" style="cursor:pointer;">; //return ‘<img onclick="uninst(this,\‘‘+index.uninstallMode.replace(/\\/g,"/")+‘\‘,\‘‘+index+‘\‘)" title="<s:text name="cems.unInstall"></s:text>" src="${basePath}/images/ptp/delete.png" width="16px" height="16px" style="cursor:pointer;">‘;
} }

  index.uninstallMode是一個軟件的路徑,

技術分享圖片

  點擊按鈕,有時候就會出現所報錯誤,但是奇怪的是有的會報,有的不會報錯

  原因估計就是反斜杠在js裏面是轉義符導致的,如下:

技術分享圖片

  正常的話應該如此:

技術分享圖片

  所以考慮到的解決方案就是將一個反斜杠換成兩個反斜杠,(這樣後臺返回json串時就要加4條反斜杠),如下果然正常執行:

技術分享圖片

  當然換成正斜杠也可以。

技術分享圖片

  所以將代碼改為下面:

,{index:operate,name:operate,label:<s:text name="com.vrv.cems.ptp.installSoft.operate"></s:text>
,width:getPerWidth(0.1), formatter:function(value,rec,index){ //return ‘<img onclick="uninst(this,\‘‘+index.uninstallMode+‘\‘,\‘‘+index+‘\‘)" title="<s:text name="cems.unInstall"></s:text>" src="${basePath}/images/ptp/delete.png" width="16px" height="16px" style="cursor:pointer;">‘; return <img onclick="uninst(this,\‘+index.uninstallMode.replace(/\\/g,"/")+\‘,\‘+index+\‘)" title="<s:text name="cems.unInstall"></s:text>" src="${basePath}/images/ptp/delete.png" width="16px" height="16px" style="cursor:pointer;">; } }

Uncaught SyntaxError: Invalid Unicode escape sequence異常處理