2012-06-22 57 views
1

我試圖這樣的:的JavaScript/PHP的單引號

<?php $php_array = array ('var1' => "l'ape"); ?> 

<script type="text/javascript"> 
var my_javascript_object = jQuery.parseJSON('<?php echo json_encode($php_array); ?>'); 
</script> 

我得到這個錯誤 「未捕獲的SyntaxError:意外的標識符」。 問題是$ php_array中var1的單引號。

這不起作用

<?php $php_array = array ('var1' => "l\'ape"); ?> 
+0

這爲我的作品就好了。即使沒有逃避報價。 – sachleen

回答

3

你不需要用JSON.parse解析您的在這種情況下。只是將其用作對象字面值而不是Javascript字符串:

var my_javascript_object = <?php echo json_encode($php_array); ?>; 
+0

很好用...... thx !!! – bicccio

+0

@bicccio沒問題:) – Paulpro

2

問題是您嘗試將JSON放入JavaScript字符串中。

而是執行此操作:

var my_js_obj = <?php echo json_encode($php_array); ?>; 

JSON字符串是一個有效的JavaScript表達式,你可以簡單地把直接在您的JS代碼。


如果你真的想創建一個包含字符串JSON(!你不),你會做這樣的:

var my_json_string = <?php echo json_encode(json_encode($php_array)); ?>; 
var my_js_obj = $.parseJSON(my_json_string); 
+0

很好用...... thx !!! – bicccio