溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript報(bào)錯(cuò)--未結(jié)束的字符串常量

發(fā)布時(shí)間:2020-07-04 11:07:04 來源:網(wǎng)絡(luò) 閱讀:418 作者:沙漏半杯 欄目:編程語言

今天在js中處理一個(gè)后臺(tái)request傳的值時(shí),本來為了圖省事,直接在js中使用EL表達(dá)式,一個(gè)成功了,另一個(gè)卻老是報(bào)錯(cuò):“未結(jié)束的字符串常量”?。?!

最后發(fā)現(xiàn),原來那個(gè)報(bào)錯(cuò)的EL表達(dá)式中傳過去的值中有個(gè)中文的句號(hào),導(dǎo)致了老是換行.........

function initpage(){

?var str1 = "${periodTypeValue}";

?var str2 = "${premiumValue}";

?if(str1 != "" ||str2 != ""){

? ? ?document.getElementById("showDesc").style.display = "";

? ? ?document.getElementById("periodDesc").innerHTML = str1;

? ? ?document.getElementById("premiumDesc").innerHTML = str2;

?}

}


<body onload="initpage();">

? ? ?<html:form action="/product?method=saveEpolicy" method="post" >

? ? ? ? ? <table width="90%" height="50%" border="0" cellpadding="0"? class="CContent" cellspacing="0" align="center">

? ? ? ? ? ? ?<col width="20%">

? ? ? ? ? ? ?<col width="35%">

? ? ? ? ? ? ?<col width="15%">

? ? ? ? ? ? ?<col width="30%">

? ? ? ? ? ? ? ?.........

? ? ? ? ? ? ? ?<tr id="showDesc">

? ? ? ? ? ? ? ? <td>

? ? ? ? ? ? ? ? ? ? ? ?&nbsp;&nbsp;

? ? ? ? ? ? ? ? </td>

? ? ? ? ? ? ? ? <td ><!-- align="left" valign="top"? 兩種方式左、上對(duì)齊 -->

? ? ? ? ? ? ? ? ? ? ? <div id="periodDesc">

? ? ? ? ? ? ? ? ? ? ? </div>

? ? ? ? ? ? ? ? </td>

? ? ? ? ? ? ? ? <td>

? ? ? ? ? ? ? ? ? ? &nbsp;&nbsp;

? ? ? ? ? ? ? ?</td>

? ? ? ? ? ? ? ?<td >

? ? ? ? ? ? ? ? ? ? <div id="premiumDesc">

? ? ? ? ? ? ? ? ? ?</div>

? ? ? ? ? ? ? </td>

? ? ? ? ? ? </tr>

? ? ? ? ? </table>

</html:form>

</body>

=============================================

最后經(jīng)查資料,發(fā)現(xiàn)其他網(wǎng)友也有遇到過,是有隱藏域的形式解決的,即:不直接將該數(shù)據(jù)以參數(shù)形式傳遞,而是先將其賦值在一個(gè)隱藏的文本內(nèi),需要調(diào)用的函數(shù)里只需讀取該文本里的內(nèi)容即可.


<html:hidden property="premiumValue" styleId="premiumValue" value="${premiumValue}"/>

<html:hidden property="periodTypeValue" styleId="periodTypeValue" value="${periodTypeValue}"/>


意外發(fā)現(xiàn)后臺(tái)Action中傳過來一個(gè)null值是,這樣顯示的竟不是null,而是“”


var str1 = document.getElementById("periodTypeValue").value;

?var str2 = document.getElementById("premiumValue").value;



----------------

1.JAVASCRIPT引用時(shí),使用的字符語言不一致.?

比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件內(nèi)部使用的是GB2312的格式,外面調(diào)用使用的是UTF-8,所以文件內(nèi)部部分特殊字符因?yàn)楦袷讲灰恢?出現(xiàn)亂碼,造成此原因.


2.JAVASCRIPT輸出HTML字符時(shí),前后標(biāo)記不匹配.?

這種比較常見,往往在輸出字符串時(shí),出現(xiàn)單引號(hào)(')或雙引號(hào)(”)不配對(duì),或者是在document.write()的時(shí)候,沒有正確輸出單引號(hào)(')或雙引號(hào)(”)


3.參數(shù)內(nèi)出現(xiàn)HTML標(biāo)記語言或包含換行符?

我今天所遇到的是這種情況.因?yàn)槲宜玫降臄?shù)據(jù)以參數(shù)形式傳給一函數(shù),結(jié)果該數(shù)據(jù)里包含換行符,造成了此錯(cuò)誤.?

如:一般測(cè)試時(shí)只使用單行的數(shù)據(jù),是正常的,未出現(xiàn)這個(gè)錯(cuò)誤,.?

當(dāng)測(cè)試時(shí)使用多行數(shù)據(jù),并使用回車鏈換行,就出行了此錯(cuò)誤.因?yàn)槔锩姘藫Q行符


對(duì)于第3種情況,我的解決方法是:不直接將該數(shù)據(jù)以參數(shù)形式傳遞,而是先將其賦值在一個(gè)隱藏的文本內(nèi),需要調(diào)用的函數(shù)里只需讀取該文本里的內(nèi)容即可.?


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI