Javascript 从jquery中的姓氏转义单引号
我的JQuery代码中有ajax调用,我正在使用c#web方法进行查找 调用在大部分时间都正常工作,用户需要输入姓氏,它将获得该姓氏的所有结果 当用户输入姓氏时会出现此问题,其中只包含一个引号,例如O'leary 这是我正在使用的jquery行:Javascript 从jquery中的姓氏转义单引号,javascript,jquery-ui,jquery,javascript-events,Javascript,Jquery Ui,Jquery,Javascript Events,我的JQuery代码中有ajax调用,我正在使用c#web方法进行查找 调用在大部分时间都正常工作,用户需要输入姓氏,它将获得该姓氏的所有结果 当用户输入姓氏时会出现此问题,其中只包含一个引号,例如O'leary 这是我正在使用的jquery行: data: "{selectedAgent: '" + $('#<%=txtAgentNameText.ClientID %>').val() + "', companyID: '" + $('#<%=ddlCompan
data: "{selectedAgent: '" + $('#<%=txtAgentNameText.ClientID %>').val() + "',
companyID: '" + $('#<%=ddlCompany.ClientID %>').val() + "'}",
data:“{selectedAgent:'”+$('#').val()+”,
公司ID:“+$(“#”).val()+“}”,
问题发生在
txtAgentNameText.ClientID
值上 好的,转义字符是\因此您可以替换\或者您可以更改格式,以便姓氏包含在双引号中!两种方法都应该足够了看起来您正在向jQuery ajax方法传递一个JSON字符串。为什么不直接传递一个javascript对象呢
var data = {
selectedAgent:$('#<%=txtAgentNameText.ClientID %>').val(),
companyID: $('#<%=ddlCompany.ClientID %>').val()
};
$.ajax({...data:data...})
var数据={
selectedAgent:$('#').val(),
公司ID:$('#').val()
};
$.ajax({…数据:数据…})
转义码在哪里?因为任何转义字符都可以在其前面使用``。到底发生了什么问题?这两种方法都应该足够了,除非你得到一个带有双引号的奇怪名称:)(然后想想这个人可能拥有的所有有趣的xss攻击)。最好只转义其中包含的引号字符。哦,我从来没有想过,实际上你也可以在$.ajax()
调用中创建JSON对象。我相信这会改变传递URL编码值而不是JSON的请求。如果您想保留JSON,可以获取该数据并将其字符串化(JSON.stringify(data)
),然后将该字符串传入。只要确保您的目标是更新的浏览器,或者在脚本中包含json2.js
。