2010-04-19 16 views
7

Ben PHP kaynak kullanarak yankılanan bir JavaScript değişkeni var: Bu kaynak,JavaScript: Dizenin bir parçası olarak BackSlash

var db_1 = 'C:\this\path'; 
var db_1 = 'C:\this\path'; 
var db_1 = 'C:\this\path'; 

$('#myinput').val(db_1); 
$('#myinput').val(db_1); 

Eğik çizgi ortadan kalktı ve sadece diğer karakterler kaldı!

Neden bu ve eğik çizgileri nasıl geri koyabilirim?

Teşekkürler

+0

var db_1 = 'C: \\ this \\ yol'; – jAndy

cevap

11

bir ters eğik çizgi JS bir kaçış karakteridir. Dize değişmezi ayrıştırıldığında kaybolurlar.

Onları geri koyamazsınız, çünkü nerede olduklarını söylemenin bir yolu yoktur. İlk sırada dizede kaldıklarından emin olmalısınız (onları bir kaçış dizisi ile temsil ederek).

var db_1 = 'C:\\this\\path'; 
+0

'\' yerine '\\' ile değiştirmeyi denedim, ancak çalışmadı. – Abs

+1

"Değiştir" ile "kaynak kodunu değiştirin" demekse, o zaman çalışmalı (ve benim için). Eğer "JavaScript String değiştirme yöntemini kullan" demek istiyorsan, o zaman işe yaramıyor - ben cevabımın ikinci cümlesine geri dönüyorum. Dizede ters eğik çizgi karakterleri yok, sadece dizilerden kaçış. Ters eğik çizgi karakteri olmadığından, bunları başka bir şeyle değiştirmeye çalışırsanız hiçbir değişiklik yapmayacaksınız. – Quentin

+0

Ah Görüyorum, o zaman PHP ile bir str_replace yapacağım. Teşekkürler! – Abs

2

Sen kullanabilirsiniz:

echo json_encode('C:\this\path'); 

json_encode bazı JavaScript kodu için bir filtre işlevi olarak kullanılabilir .

İlgili konular