我使用的是ajax jquery
代码
$('#frm_manage_staff').on('change', '#ddn_staff', function () {
var ddn_staff = $('#ddn_staff').val();
if (ddn_staff !== '' && $.isNumeric(ddn_staff)) {
$.ajax({
type: 'POST',
url: '<?php echo base_url('ledger/get_staff_detail'); ?>',
data: 'ledger_id=' + encodeURIComponent(ddn_staff),
datatype: 'json',
beforeSend: function () {
$('#ddn_staff_waiting').html('<img src="<?php echo base_url('images/loader.GIF'); ?>">');
},
success: function (data)
{
data = JSON.parse(data);
$('#roles_container').find(':checkbox').prop('checked', false);
if (data.status === 'success') {
$('#txt_user_name').val(data.username);
if (data.roles !== '') {
var roles = data.roles.split(',');
if (roles.length > 0) {
$('#roles_container').find(':checkbox').each(function () {
for (var i = 0; i < roles.length; i++) {
if ($(this).val() === roles[i]) {
$(this).prop('checked', true);
break;
}
}
});
}
}
} else {
$('#txt_user_name').val('');
}
$('#ddn_staff_waiting').html('');
}
});
}
});
php返回json,我可以在firebug中看到这样的::
{"status":"success","username":"dfdf","roles":"manage_shows_view,cash_inward,contra_entry"}
但它给出了错误&#34; SyntaxError: JSON.parse: unexpected character at..
&#34;。
问题可能就在这一行:&#34; data = JSON.parse(data);
&#34;