Sto creando una query per YQL e mi sono imbattuto in un problema stupido. Non sarò incollando l'intera query in quanto non v'è alcuna necessità, solo la parte che sto avendo il problema con:JavaScript non esegue l'escape character?
var query = encodeURI("... and xpath='//div[@class=\\'body bodySign\\']/p' ...")';
Come si può notare, ho aggiunto due \
caratteri, è necessità per il query reale. Utilizzo query multiple e ho bisogno di raddoppiare il carattere '
per poterle analizzare correttamente all'interno di YQL.
Ma JavaScript sfugge al carattere \
. Non importa quanti \
aggiungo (a "escape" al seguente carattere \
) Mi rimane ancora un solo \
nella mia query.
Come mantenere più caratteri \
senza che si sfuggano l'un l'altro?
Grazie
Quindi vuoi finire con '[@class = \\ 'body bodySign \\']'? – Musa
La barra rovesciata scappa solo il seguente carattere, quindi \\ = \, \\\\ = \\, ecc. 'EncodeURI (" \\ 1 \\ 2 \\\\ 3 ")' restituisce '"% 5C1% 5C2% 5C% 5C3 "' – Shomz
Se si desidera una barra rovesciata nella query, è necessario '' \\ '' nella stringa (è necessario sfuggire alla barra rovesciata). Se ne vuoi due, hai bisogno di '' \\\\ ''. – Matt