我在从 Jquery ajax 调用中获取响应时遇到问题...
(这是一个验证用户的脚本,需要返回他们的姓名和用户ID。我的理解是我可以将它编码为JSON并以下面的格式获取数据。
它为 alert() 返回“未定义”错误。
javascript
$.ajax({
type: "POST",
url: "myURL.php",
data: {username: username, password: password},
success: function(results) {
//THIS IS WHERE THE PROBLEM IS
alert('Hi '+results.name); //Should be "Hi Basil Fawlty"
}
});
PHP (myURL.php)
//This comes from a SQL call that returns the following name
json_encode(array(
'id'=>1,
'name'=>'Basil Fawlty'
));
任何关于我哪里出错的帮助或想法将不胜感激!
谢谢。
解决方案:解决方案是添加数据类型。
最佳答案
您缺少 dataType: "json"
:
$.ajax({
type: "POST",
url: "myURL.php",
dataType: "json",
data: {username: username, password: password},
success: function(results) {
//THIS IS WHERE THE PROBLEM IS
alert('Hi '+results.name); //Should be "Hi Basil Fawlty"
}
});
另一种(不那么冗长)替代方法是 jQuery.getJSON
如果您知道您正在获取 JSON。
关于php - jquery 获取数组详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715725/