我正在尝试使用Ajax查询的结果来设置输入的值。 问题是我得到一个空结果([Object object]) 这是我的过程:
首先:我实现了一个简单的查询并将结果编码为JSON:
file:getVar.php
//getMyVar($id) runs a simple "select" query with a specified id
// SELECT name FROM table where id = id
$var= getMyVar($id);
header('Content-type: application/json; charset=UTF-8');
echo json_encode($var);
然后,我(尝试)提取数据并将其作为值插入到具有id“name”的输入中
注意:我确定输入的id。
file:printStuff.js
request = $.post('getVar.php', {id:id}, 'json');
request.done(function(data){
$('#name').val(data.name);
});
当我使用firebug在浏览器中检查我的页面时,我可以看到我的第一页(getVar.php)
返回格式正确的JSON
结果。
{"id":"42","name":"test"}
所以,我认为当我尝试从$ .post
中提取数据时会发生错误如果您需要任何其他信息,请不要犹豫:)
感谢阅读。
答案 0 :(得分:1)
尝试这种方式调试data
并使用json_encode()
//getVar.php
$var= getMyVar($id);
die(json_encode(array('status'=>'success','name'=>$var)))
//javascript code
$.post("getVar.php",{id:id}, 'json').done(function( data )
{
console.log(data.status);
console.log(data.name);
if(data.status=='success'){
$('#name').val(data.name);
}
});