我在使用我的网页识别我的JSON时遇到了一些麻烦。我已经验证了我从服务器返回的JSON,所以我知道这是正确的,但我的javascript函数没有做任何事情。我的成功功能如下:
success: function(data) {
$('input[name=customer_name]').val(data.name);
$('textarea[name=customer_address]').text(data.address);
$('input[name=customer_email]').val(data.email);
$('input[name=customer_tel]').val(data.tel);
$('input[name=user_id]').val(item.id);
}
然而,这些字段没有被返回的数据重新填充,如果它有帮助,我的JSON数据样本:
{
"name": "Terry O'Toole",
"address": "Terrys House\nTerry Street\nTerrysville\nTerrytown\nTT1 6TT",
"email": "teryy@two.com",
"tel": "05110000000"
}
任何帮助都将不胜感激。
[编辑]
扩展了ajax电话:
$.ajax({
url: "<?php echo site_url('user/users/ajax'); ?>",
type: 'POST',
data: {"userid": item.id},
success: function(data) {
$('input[name=customer_name]').val(data.name);
$('textarea[name=customer_address]').text(data.address);
$('input[name=customer_email]').val(data.email);
$('input[name=customer_tel]').val(data.tel);
$('input[name=user_id]').val(item.id);
}
})
});
答案 0 :(得分:6)
我认为你正在使用jQuery(来自你正在使用的val
函数)。您是否将dataType
参数指定为$.ajax
? E.g:
$.ajax({
url: "blah",
dataType: "json",
success: ...
});
如果没有,它可能没有正确猜测(也许你没有发回正确的内容类型?),你将不得不使用JSON.parse
。但最好是A)在响应上设置正确的内容类型,B)使用dataType
在代码中表达您的意图。
修改刚刚看到您的修改。一定要尝试添加dataType
。