我会获取一个php-json对象并将其保存在jquery变量中。
<?php
$arr = array();
for ($i = 0; $i < 5; $i++) {
$arr[] = array('id'=>$i, 'text'=>$i);
}
$arr = json_encode($arr);
?>
<input id="phpObj" type="hidden" value="" data-items='<?php echo $arr; ?>'>
浏览器html源显示
<input id="phpObj" type="hidden" data-items="[{"id":0,"text":0},{"id":1,"text":1},{"id":2,"text":2},{"id":3,"text":3},{"id":4,"text":4}]">
为了获得php对象,我这样做了
var data = jQuery.parseJSON($('#phpObj').data('items'));
console.log(data);
但是我有这个错误
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
我尝试使用jQuery.parseJSON(JSON.stringify($('#phpObj').data('items')));
但没有成功。SyntaxError: unterminated string literal
我该如何解决这个问题?感谢
一个适用于您的示例:-
<?php
$arr = array();
for ($i = 0; $i < 5; $i++) {
$arr[] = array('id'=>$i, 'text'=>$i);
}
$arr = json_encode($arr);
?>
<input id="phpObj" type="hidden" data-items='<?php echo $arr; ?>'>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script type = "text/javascript">
$(document).ready(function(){
var data = $.parseJSON($('#phpObj').attr("data-items"));
console.log(data);
});
</script>
输出:-在我的本地屏幕上:-http://prntscr.com/akrz2w