【发布时间】:2016-04-25 23:36:59
【问题描述】:
我正在维护一个 asp.net rest api,其中 SQL 数据通过存储过程加载并转换为 rest。
在网页上,我有一个带有 onclick 属性的 html 元素,将结果的内容作为参数传递。这几乎适用于所有情况,但是在 chrome 控制台中给出了 Uncaught SyntaxError: Unexpected token ILLEGAL 。
我希望字符串中的这个字符是问题:
↵
我只是找不到我需要在 C# 中替换什么字符才能从字符串中删除它。而且我没有一个好的环境来测试或调试它。
Ps 不能更改 SQL 中的存储过程。
-- 更新--
我不能给出确切的值,因为这有点保密,但是当我用 chrome 检查它时,这是从其余 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 换行文字可能会导致该问题。 ↵ 这只是一个 unicode 字符,您的问题不应与该字符有关。
-
页面从带有把手的其余 api 加载数据。 {{PayComment}} 已经加载,我只是不在界面中显示它。当用户单击 i 图标时,我会显示一个包含 {{PayComment}} 内容的弹出窗口。
标签: javascript c# asp.net sql-server