我有一个从数据库中获取项目的函数,我可以使用浏览器中的开发人员工具查看以JSON格式返回的项目。但是,没有任何内容添加到列表中。
所以我有一个HTML列表:
<ul id="userCertifications"></ul>
从MySQL数据库获取项目的函数:
function GetCertifications() {
$("#userCertifications").empty();
var userId = $('#userId').val();
console.log("Current user Id to get certs " + userId);
$.getJSON('json_data.php', { method: 'getCertifications', userId: userId }, function(data) {
console.log("User's Certifications >>> " + data);
$.each(data, function(key, value) {
console.log("User's Certifications >>> " + value);
$("#userCertifications").append('<li>' + "Hello World" + '</li>');
});
});
}
我从数据库中获取JSON数据,但是我从未到达console.log("User's Certifications >>> " + value);
行,所以$.getJSON
函数出了什么问题。如何从列表中添加$.getJSON
函数中的项目?
http://screencast.com/t/tbzzKdFM
响应如下:
[{"rec_id":"81","user_id":"jkittell","certName":"Microsoft SQL - MCITP ","certExp":null,"lastRecupdate":null},{"rec_id":"80","user_id":"jkittell","certName":"Java SE Programmer 7 ","certExp":null,"lastRecupdate":null},{"rec_id":"79","user_id":"jkittell","certName":"CCIE Service Provider","certExp":null,"lastRecupdate":null},{"rec_id":"78","user_id":"jkittell","certName":"CCNA Voice","certExp":null,"lastRecupdate":null},{"rec_id":"77","user_id":"jkittell","certName":"CCNP Cloud","certExp":null,"lastRecupdate":null},{"rec_id":"76","user_id":"jkittell","certName":"CCNP Collaboration","certExp":null,"lastRecupdate":null},{"rec_id":"75","user_id":"jkittell","certName":"CCNA Service Provider ","certExp":null,"lastRecupdate":null},{"rec_id":"73","user_id":"jkittell","certName":"CCENT","certExp":null,"lastRecupdate":null},{"rec_id":"74","user_id":"jkittell","certName":"CCNA Cloud","certExp":null,"lastRecupdate":null}]
答案 0 :(得分:2)
为了工作,你必须删除
echo "<pre>";
var_dump($query);
echo "</pre>";
这会阻止您的响应开始有效的JSON格式。因为这个变量转储后的内容是格式良好的JSON。
答案 1 :(得分:1)
<pre>.../</pre>
在你的json文件中它不会返回json数组甚至是json对象!它返回的是除了json类型之外的任何东西! 所以删除pre标签然后运行你的代码,它应该可以正常工作。