2013-04-27 23 views
5

YQL için bir sorgu yapıyorum ve bir aptal sorunla karşılaştım.JavaScript karakter kaçmıyor?

var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")'; 

Görülebileceği gibi, iki \ karakter ekledik, bu ihtiyacı olduğu: Ben ile sorun yaşıyorum sadece bir parçası gerek yoktur gibi ben tüm sorguda yapıştırarak alışkanlık gerçek sorgu Birden çok sorgu kullanıyorum ve YQL'nin içinde doğru şekilde ayrıştırmak için ' karakterini iki katına çıkarmam gerekiyor.

Ancak JavaScript, \ karakterinden kurtulur. Ne kadar çok \ eklediğim farketmez (\ karakterini takip etmek için "kaçış") Sorgulamada hala sadece bir tane \ kalıyorum.

Birden çok \ karakterini birbirinden kaçmadan nasıl saklarım? Bu Örneğin

var query = encodeURI("... and xpath='//div[@class=\\\\'body bodySign\\\\']/p' ...")'; 

olmalıdır

Teşekkür

+0

Yani [@class = \\ 'body bodySign \\'] 'ile sonlandırmak istersiniz? – Musa

+0

Backslash sadece aşağıdaki karakterden kaçar, bu nedenle \\ = \, \\\\ = \\, vs. 'encodeURI (" \\ 1 \\ 2 \\\\ 3 ")' verir "% 5C1% 5C2% 5C% 5C3 "' – Shomz

+2

Sorgunuzda bir ters eğik çizgi istiyorsanız, dizginizde '' \ '' 'dır (ters eğik çizgi kaçmak gerekir). Eğer iki tane istiyorsan, sana ihtiyacın var. – Matt

cevap

1

, F12 vurmak ve console.log("\\\\") çıkışında bak.