Php 在JQuery中解析JSON并在输入中设置
我正在实现一个web,我需要使用AJAX+JQuery来完成一些字段,而无需重新填充页面。我测试了它,它工作正常,但当我试图使用真正的JSON(由MySQL创建)时,我无法解析它 JSON的格式如下:Php 在JQuery中解析JSON并在输入中设置,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我正在实现一个web,我需要使用AJAX+JQuery来完成一些字段,而无需重新填充页面。我测试了它,它工作正常,但当我试图使用真正的JSON(由MySQL创建)时,我无法解析它 JSON的格式如下: [ { "ID":"5847" }, { "Usuari":"admin" }, { "Nom":"admin" }, { "Cognom1":null }, {
[
{
"ID":"5847"
},
{
"Usuari":"admin"
},
{
"Nom":"admin"
},
{
"Cognom1":null
},
{
"Cognom2":null
},
{
"Tipus":"admin"
},
{
"Progres":"0"
}
]
AJAX代码如下所示:
$(document).ready(function(){
$("#botoBuscar").click(function(){
$.ajax({url: "http://192.168.1.39/web/api/buscarUser.php?user="+ $("#userInput").val(), success: function(data){
var obj = $.parseJSON(data);
$("#id").val(obj[0]['ID']);
$("#user").val(obj[0]['Usuari']);
$("#nom").val(obj[0]['Nom']);
$("#cognom1").val(obj[0]['Cognom1']);
$("#cognom2").val(obj[0]['Cognom2']);
$("#tipus").val(obj[0]['Tipus']);
$("#progres").val(obj[0]['Progres']);
}});
});
});
如果我只打印var“data”,它会正确打印完整的JSON,但如果我尝试使用data['ID']或data[0]['ID']等。。它不打印任何东西。我做错了什么?谢谢
如果需要,生成JSON的代码如下(PHP):
谢谢 我找到了正确获取值的解决方案。代码如下所示:
$(document).ready(function(){
$("#botoBuscar").click(function(){
$.ajax({url: "http://XX.com/api/buscarUser.php?user="+ $("#userInput").val(), success: function(data){
var obj = $.parseJSON(data);
$("#id").val(obj[0]['ID']);
$("#user").val(obj[1]['Usuari']);
$("#nom").val(obj[2]['Nom']);
$("#cognom1").val(obj[3]['Cognom1']);
$("#cognom2").val(obj[4]['Cognom2']);
$("#tipus").val(obj[5]['Tipus']);
$("#progres").val(obj[6]['Progres']);
}});
});
});
我不知道这是否是解决这个问题的最佳方法,但它是有效的:)如果有人知道一个更好的解决方案,请发帖子,我会把它标记为最佳答案。如果两天后我没有得到任何答案,我会把我自己的答案标记为正确。谢谢
$(document).ready(function(){
$("#botoBuscar").click(function(){
$.ajax({url: "http://XX.com/api/buscarUser.php?user="+ $("#userInput").val(), success: function(data){
var obj = $.parseJSON(data);
$("#id").val(obj[0]['ID']);
$("#user").val(obj[1]['Usuari']);
$("#nom").val(obj[2]['Nom']);
$("#cognom1").val(obj[3]['Cognom1']);
$("#cognom2").val(obj[4]['Cognom2']);
$("#tipus").val(obj[5]['Tipus']);
$("#progres").val(obj[6]['Progres']);
}});
});
});