2017-07-14 1 views
0

J'ai un ASP classique qui est codé en script VB et il a aussi un code de script Java dans le tag de script.Echapper des guillemets simples dans le script VB >> Script Java

VS Script a un tableau et une ligne contient un guillemet simple. Et ce tableau VB Script est passé au script Java. Comme certaines valeurs de chaîne contiennent des guillemets simples, la page Web ne fonctionne pas après la transmission de la chaîne au script Java.

J'ai essayé d'échapper à des guillemets simples dans le script VB avant de passer à Java Script

Dim escapeInvalidString  
escapeInvalidString = Replace(objrec.Fields("Name"), "'", """chr(39)""") 
vbStr = escapeInvalidString 

également essayé

escapeInvalidString = Replace(objrec.Fields("Name"), "'", "''") 

J'ai essayé dans le script Java sans échapper à VB Script et

var jsStr ="";  
jsStr = '<%= vbStr %>'.replace(/'/g, "\\'"); 

J'ai également essayé. J'ai le sentiment que j'ai besoin d'échapper des guillemets simples dans les parties du script VB, mais ce qui précède ne fonctionne pas. Tous les conseils seraient très appréciés.

+0

Le code VB doit chaînes de sortie sont noyés ' « 'caractères sont à' \ »', mais votre code semble essayer de les changer à ' « »'. (Vous ne pouvez pas attendre pour effectuer le remplacement dans JS car vous avez déjà des erreurs de syntaxe provenant de chaînes qui n'ont pas été correctement échappées.) – nnnnnn

+0

@nnnnnn Nous vous remercions de votre réponse. Je comprends le différent entre ce que j'ai essayé de faire et ce que je voulais faire maintenant. Très utile. – Chrissa

Répondre

1

Utilisez Escape sur le côté serveur et unescape sur le côté client. Ils sont compatibles et les deux sont Unicode (bien, UCS-2 en fait) plainte.

var jsStr = unescape('<%= Escape("foo ' bar '") %>'); 
+0

Pourquoi auriez-vous besoin d'unescape? Juste le code côté serveur génère JS valide en premier lieu. – nnnnnn

+0

@ Kul-Tigin Merci beaucoup pour votre réponse rapide. J'ai fait le changement et ça marche maintenant. C'est beaucoup plus simple que ce que je codifiais! – Chrissa

+0

Je suis confronté à un autre problème sur le même morceau de ASP. Pourriez-vous jeter un coup d'oeil seulement si vous avez le temps s'il vous plaît? https://stackoverflow.com/questions/45090558/jquery-autocomplete-does-not-show-all-the-results – Chrissa