Próbuję przekonwertować znaki nowej linii na przerwy. Ale z jakiegoś powodu nie mogę tego zrobić. Zrobiłem różne testy i wiem, że funkcja jest wykonywana, i że zmienna przekazana do funkcji jest zdecydowanie łańcuchem. To dziwne, że to nie działa. Ponieważ używam dokładnie tej samej funkcji dla podwójnych znaków ucieczki przed wysłaniem ich na serwer. Próbowałem wielu rzeczy i nie rozumiem, dlaczego to nie działa.Nie można przekształcić nowych linii w przerwy
console.log(ev);
var parsedJSON = JSON.parse(ev.data);
console.log('string that goes in function:' + parsedJSON.message);
//typeof(parsedJSON.message); string
var bericht = placeBreaks(parsedJSON.message);
function placeBreaks(str) {
return str.replace(/\r?\n/g, "<br />");
}
console.log('string being returned: ' + bericht);
json: { "data": 1431199838, "name": "root", "message": "test \ ntest"}
(index): 167 znaków, który idzie w funkcji: test \ ntest
(index): 173 placeBreaks powrotu: Test \ ntest
Twój kod działa dla mnie; może \ n jest dosłownym, a właściwie nie łamaniem linii? Jak w js nie interpretuje go jako podział wiersza, ale dosłowny ukośnik odwrotny i n. – Daedalus
To działało dla mnie w konsoli przeglądarki, ale dopiero po tym, jak zmieniłem go na '\\ n', więc myślę, że @Daedalus jest prawdopodobnie poprawny. – cyk
Dzięki za odpowiedź, dzięki informacjom od was mogę pracować. I działaj, ale chciałbym przyjąć odpowiedź, która mogłaby wyjaśnić to bardziej indeptem; Dlaczego JS faktycznie czyta to jako ciąg literowy? Byłem z założenia, że ciąg jest ciągiem. Nie wiedziałem, że JS analizuje coś tak dosłownie. Thx – DDaems