2016-03-27 23 views
2

Bir php json nesnesini alıp jquery değişkenine kaydederdim.php json nesnesini jquery değişkenlerine kaydetme

<?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; ?>'> 

tarayıcı html kaynağı görüntüleme

php nesnesini almak için ben bu şekilde

var data = jQuery.parseJSON($('#phpObj').data('items')); 
console.log(data); 

yaptı ama denedim

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data 

bu hatayı ettik

<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}]"> 

jQuery.parseJSON(JSON.stringify($('#phpObj').data('items')));kullanımıama hiçbir başarı ile. SyntaxError: unterminated string literal

Bunu nasıl çözebilirim? Teşekkürler

+0

doğrudan do this: -? 'Var data = $ .parseJSON (' '); –

+0

Veya ' 've' var data = $ .parseJSON ($ (' # phpObj '). val()); ' –

cevap

1

Sana bir çalışma örneği: -

<?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> 

Çıktı: - Yerel ekranında: - http://prntscr.com/akrz2w

+0

Çok teşekkür ederim! – Gus

2

JSON dizesi, veri değerini sarmak için kullandığınız aynı tür alıntılar içerir. Bunun yerine tek tırnak kullanmayı deneyin.

İlgili konular