JavaScript不转义\字符?
我正在为YQL构建一个查询,但遇到了一个愚蠢的问题。我不会在整个查询中粘贴,因为没有必要,只是我遇到问题的部分:JavaScript不转义\字符?,javascript,Javascript,我正在为YQL构建一个查询,但遇到了一个愚蠢的问题。我不会在整个查询中粘贴,因为没有必要,只是我遇到问题的部分: var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")'; 您可能会注意到,我添加了两个\字符,这是实际查询所需要的。我使用的是多重查询,我需要将“字符加倍esacpe,以便它们在YQL中正确解析 但是JavaScript转义了\字符。无论我添加了多少\(为了“转义”到后面的\
var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")';
您可能会注意到,我添加了两个\
字符,这是实际查询所需要的。我使用的是多重查询,我需要将“
字符加倍esacpe,以便它们在YQL中正确解析
但是JavaScript转义了\
字符。无论我添加了多少\
(为了“转义”到后面的\
字符),我的查询中仍然只剩下一个\
如何保持多个\
字符不相互转义
谢谢应该是
var query = encodeURI("... and xpath='//div[@class=\\\\'body bodySign\\\\']/p' ...")';
例如,点击F12并查看控制台.log(\\\\”的输出,因此您希望以
[@class=\\'body bodySign\\\\']
?反斜杠只转义以下字符,所以\\=\,\\\\\\\\\\,等等。encodeURI(\\\1\\2\\\\\\3”)
如果您希望在查询中有一个反斜杠,则给出%5C1%5C2%5C3%
,字符串中需要\\
(需要转义反斜杠)。如果你想要两个,你需要\\\\
。