我有这个脚本:
<script type="text/javascript">
jQuery(function($) {
var newsList = $('.handsontable');
function updateNews(){
newsList.html("Loading…");
$.ajax({
url: "<?php echo $this->createUrl('data')?>",
cache: false,
success: function(data) {
//alert(data);
newsList.html(JSON.parse(data));
},
});
}
updateNews();
});
返回有效的json:
{
"score": [
{
"player_fullname": "Alex",
"game_id": "78",
"player_id": "1"
},
{
"player_fullname": "George",
"game_id": "78",
"player_id": "2"
},
{
"player_fullname": "Nick",
"game_id": "78",
"player_id": "3"
},
{
"player_fullname": "John",
"game_id": "78",
"player_id": "4"
},
{
"player_fullname": "Steve",
"game_id": "78",
"player_id": "5"
}
]
}
我现在想把它转换成数组。我尝试过JSON.parse(数据),但它没有返回任何内容。我究竟做错了什么?请帮忙。
PS。我使用Yii,这个代码在视图中,我需要将这些数据转换为数组,以便我可以使用handontable api。
答案 0 :(得分:2)
首先,在您的AJAX调用中添加dataType
,将其设置为'json'
,它会在重新输入时自动转换数据。现在,只需在success
success: function(data) {
var myArray = data.score;
}
答案 1 :(得分:0)
@tymeJV是正确的,但如果你真的需要一个数组,你可以这样做
var players = $.parseJSON(data);