我在维护一个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}}内容的弹出窗口。 –