为什么jquery ajax接收到的json数据是undefined

2024-11-30 00:40:31
推荐回答(4个)
回答1:

$.ajax({//一个Ajax过程
type: "post", //以post方式与后台沟通
url : "login.php",//与此php页面沟通
//dataType:'JSON',//从php返回的值以 JSON方式 解释
data: 'username='+$("#username").val()+'&password='+$("#password1").val(),//发给php的数据有两项,分别是上面传来的u和p
success: function(json){//如果调用php成功
json = eval("(" + json + ")");
alert(json.username); //把php中的返回值(json.username)给 alert出来

}
});

$.getJSON("login.php",'username='+$("#username").val()+'&password='+$("#password1").val(),function(json){
alert(json.username);
});

这两种方式都可以

回答2:

success: function(json){//如果调用php成功

json = eval("(" + json + ")");
alert(json.password); //把php中的返回值(json.username)给 alert出来

}

PHP我不懂,不过动态页面原理应该都是一样的,应该不会返回php源码才对的,你是不是没有放进服务器里测?

回答3:

Jquery对JSON要求比较高,要写成{"username":"XXX","password":"xxx"}才行。

回答4:

不知你后台php传回来的json数据格式是否正确,你可以直接将json内容alert看看格式是什么样的。json格式很多,所以后台Ajax过来的解析方式可能有不同。你可以通过调试JS看看具体内容怎么获取。。。。