我在維護一個asp.net rest api,其中SQL數據通過存儲過程加載並轉換爲休息。來自SQL的javascript字符串參數中的非法字符
在網頁上,我有一個帶有onclick屬性的HTML元素,將結果的內容作爲參數傳入。這適用於幾乎所有的事件,但是在chrome控制檯中會出現Uncaught SyntaxError:意外的標記ILLEGAL。
我期待該字符字符串中的問題:
↵
我無法找到我所需要的字符在C#中,以取代從字符串中刪除這一點。我沒有一個好的環境來測試或調試它。
更改SQL中的存儲過程不是一個選項。
- 更新 -
我不能給出確切值,因爲這是一個有點保密的,但是這是返回的形式REST API當我鉻(API調用的結果檢查它網絡選項卡):
21.12.15 xxx xxx xxx
↵
↵[xxx 13-01-2016] gebeld, gesproken met xxx : hij heeft met xxx besproken dat
我有一個onclick事件傳遞字符串在上述(PayComment)作爲參數的信息圖標。 {{PayComment}}被上面的字符串替換爲句柄。
<span onclick="GetInvoicePayComment('{{PayComment}}');">i</span>
我在javascript函數的第一行設置了一個調試器,但它永遠不會到達那一行。
function GetInvoicePayComment(Comment) {
//
}
- 更新2 - 這裏的討論,我認爲我需要檢查源HTML作爲車把替換{{PayComment}}與價值。結果是這樣的:
<span class="small fa fa-info-circle" style="text-align: center; font-size: 18px; cursor: pointer;" onclick="GetInvoicePayComment('21.12.15 xxxx
[xxxx 13-01-2016] gebeld, gesproken met xxx : hij heeft met Rxxx besproken dat deze factuur nog niet moet worden betaald.');"></span>
我猜這裏的換行符是問題,而不是字符。
可能您的過程結果包含新的行文字並導致瀏覽器出現此問題。如果您可以提供有關問題的更多信息(瀏覽器中的示例輸出和確切問題),我可以幫助您更有效地進行操作。 –
GetInvoicePayComment('{{PayComment}}')是什麼類型的數據?抓取?我的意思是你面臨的問題取決於你的數據類型。我假設你通過ajax調用獲取數據,並且如果你的ajax數據類型是javascript newline literal會導致這個問題。這只是一個unicode角色,你的問題不應與該角色相關。 –
該頁面使用把手從其餘的api中加載數據。 {{PayComment}}已經加載,我只是不顯示在界面中。當用戶點擊i圖標時,我會顯示帶有{{PayComment}}內容的彈出窗口。 –