Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jquery中的姓氏转义单引号_Javascript_Jquery Ui_Jquery_Javascript Events - Fatal编程技术网

Javascript 从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

我的JQuery代码中有ajax调用,我正在使用c#web方法进行查找

调用在大部分时间都正常工作,用户需要输入姓氏,它将获得该姓氏的所有结果

当用户输入姓氏时会出现此问题,其中只包含一个引号,例如O'leary

这是我正在使用的jquery行:

   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