Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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
Internet explorer 9出现转义双引号javascript问题_Javascript_Escaping_Double_Quotes - Fatal编程技术网

Internet explorer 9出现转义双引号javascript问题

Internet explorer 9出现转义双引号javascript问题,javascript,escaping,double,quotes,Javascript,Escaping,Double,Quotes,以下是我的情况: var sql='INSERT-INTO\'template\'u items\'(\'item\')值(\'0a\') 警报(sql)给出以下值: 在“模板项目”(“项目”)值(“0a”)中插入 这是正确的,并且显示了双引号的正确转义 但当在IE9调试器(F12)中查看变量sql时,下面是它的值 “将值(\'0a\”)插入到“模板\u项目”(\'item\”)中” 反斜杠还在那儿 现在,当我在以下语句中使用变量sql时,这就产生了问题: connection.beginter

以下是我的情况: var sql='INSERT-INTO\'template\'u items\'(\'item\')值(\'0a\')

警报(sql)给出以下值:

在“模板项目”(“项目”)值(“0a”)中插入
这是正确的,并且显示了双引号的正确转义

但当在IE9调试器(F12)中查看变量sql时,下面是它的值

“将值(\'0a\”)插入到“模板\u项目”(\'item\”)中”

反斜杠还在那儿

现在,当我在以下语句中使用变量sql时,这就产生了问题:

connection.beginters()

执行(sql)

connection.CommitTrans()


这个问题的解决办法是什么?

首先;你应该永远不要在前端创建SQL!!!这是一个巨大的安全漏洞


第二:要解决控制台中的问题,您可以在文本周围使用单引号,在文本内部使用双引号:
var text='text'
中的一些“引号”(但当后端接收到您的字符串时,这应该不是问题)

,以防其他任何人面临相同的问题

[accessdb.js][1]工作正常


我对此进行了调试,发现recordset.open遗漏了一些参数。

这根本不能回答您的问题,但是……为什么JavaScript中有SQL?(除非您使用的是Web SQL客户端,这很好,但这是正确的)至于您的“问题”,调试器会向您显示字符串的表示形式(包括起始引号和终止引号),以及转义反斜杠。但是,这只是表示法;字符串实际上不包含它们(当您使用
警报显示值时可以看到)。当我使用connection.Execute(sql)时;语句,它接受的是调试器值而不是警报值。现在,当我不转义双引号时,调试器会自动显示反斜杠。因此,似乎没有办法在IE9调试器中保留双引号而不使用反斜杠并执行(sql)声明虽然我完全同意你的第一段,但你的第二段是不正确的(OP已经在做了)。“插入到‘模板项目’(‘项目’)值(‘0a’)”。如果你是这个意思,那么没有任何区别,问题仍然存在。不,我的意思是:‘插入到‘模板项目’(‘项目’)价值(“0a”);