Spróbuj tego:
<?php $htmlString= 'testing'; ?>
<html>
<body>
<script type="text/javascript">
// notice the quotes around the ?php tag
var htmlString="<?php echo $htmlString; ?>";
alert(htmlString);
</script>
</body>
</html>
Kiedy napotkasz problemy jak ten, dobrym pomysłem jest, aby sprawdzić swoją przeglądarkę za błędy JavaScript. Różne przeglądarki mają różne sposoby pokazywania tego, ale szukaj konsoli javascript lub czegoś podobnego. Sprawdź również źródło strony wyświetlane przez przeglądarkę.
Czasami początkujący są zdezorientowani cytatami w ciągu znaków: W części PHP przypisano 'testing'
do $htmlString
. To umieszcza wartość ciągu wewnątrz tej zmiennej, ale wartość nie zawiera cytatów: Są one przeznaczone tylko dla interpretera, więc on wie: oh, teraz przychodzi ciąg literalny.
@ inf3rno, czy to źle, powinniśmy to naprawić, nie możemy pozwolić na złą odpowiedź tutaj ... co dokładnie jest nie tak? (Zakładam, że sprzeciwiasz się ostatnio paragrafowi ... hm ... trochę trudno wytłumaczyć to początkującemu - czy masz lepsze podejście?) –
@ inf3rno, oh ... Właśnie widziałem twoją własną odpowiedź Hm ... masz rację tam ... z wyjątkiem, myślę, że dla poziomu OP jest ATM, to jest trochę Wygląda na to, że nie ma już głowy owiniętej wokół podstawowych rzeczy ... –
Łatwo wytłumaczyć, jeśli chcesz wstrzyknąć ciąg do kodu javascript, musisz uciec od niego dla javascript ... json_encode robi to ... jest bardzo podobny do zapobiegania wstrzyknięciu sql, przez to masz t o escape dla sql ... – inf3rno