Hãy thử điều này:
<?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>
Khi bạn gặp vấn đề như thế này, một ý tưởng tốt là để kiểm tra trình duyệt của bạn cho các lỗi JavaScript. Các trình duyệt khác nhau có các cách hiển thị khác nhau, nhưng hãy tìm một bảng điều khiển javascript hoặc một cái gì đó tương tự. Ngoài ra, hãy kiểm tra nguồn của trang của bạn khi trình duyệt xem.
Đôi khi người mới bắt đầu nhầm lẫn về các dấu ngoặc kép trong chuỗi: Trong phần PHP, bạn đã gán 'testing'
đến $htmlString
. Điều này đặt một giá trị chuỗi bên trong biến đó, nhưng giá trị không có dấu ngoặc kép trong nó: Chúng chỉ dành cho trình thông dịch, vì vậy anh ta biết: oh, bây giờ có một chuỗi ký tự.
Nguồn
2010-07-27 15:55:44
@ inf3rno, nếu sai, Chúng ta nên sửa chữa nó! Không thể để cho một câu trả lời sai ở đây ... những gì chính xác là sai? (Tôi giả sử bạn đang phản đối đoạn cuối ... hm ... kinda khó để giải thích điều này cho người mới bắt đầu - –
@ inf3rno, oh ... Tôi vừa thấy câu trả lời của riêng bạn ... Hm ... bạn có một điểm ... ngoại trừ, tôi nghĩ rằng đối với cấp OP là ATM, có một chút TMI dường như không có đầu quấn quanh một số thứ cơ bản, –
Thật dễ dàng để giải thích, nếu bạn muốn tiêm chuỗi mã javascript, bạn phải thoát khỏi nó cho javascript ... json_encode làm điều đó ... rất giống với phòng ngừa tiêm sql, bởi bạn có o thoát cho sql ... – inf3rno