【发布时间】:2012-04-11 11:16:54
【问题描述】:
我有一个 AJAX 页面请求,它使用一个 php 文件来处理对我的 MySQL 数据库的查询。 php 文件工作得很好,但由于某种原因,它对我来说并不好。这是我所拥有的:
function updateForm(){
ID = $('#listings').val();
$.ajax({
type: "POST",
url: 'query.php',
data: "query=true" +
"&id=" + ID,
datatype: 'json',
success: function(data) {
alert(data);
updatePreview();
}
});
}
给我一个弹出窗口:
{"results":[{"ID":"12","area":"Hoboken","bedrooms":"5","fullbath":"3","halfbath":"1","remarks":"No remarks to speak of.","sqft":"2500","photos":null,"price":"1000","fee":null,"realtor":"Jane Doe","phone":"555-555-5555","address":"10th & Willow","bix":"1"}]}
但一旦我将其更改为:
function updateForm(){
ID = $('#listings').val();
$.ajax({
type: "POST",
url: 'query.php',
data: "query=true" +
"&id=" + ID,
datatype: 'json',
success: function(data) {
alert(data.results);
updatePreview();
}
});
}
弹出窗口只是说未定义。
最终,我想解析信息并相应地更新我的页面,但我似乎无法访问此 JSON 对象的任何属性。怎么回事?
编辑:
这是来自 php 文件的代码:
if (isset($_POST['query'])){
if (isset($_POST['id'])){
$query = 'SELECT * FROM bix WHERE ID=' . get_post('id');
$listing = mysql_query($query);
print_json($listing);
}
}
function print_json($var){
$output = array();
while($row = mysql_fetch_assoc($var)) {
$output["results"][] = $row;
}
echo json_encode($output);
}
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
【问题讨论】:
-
你能发布你的服务器端代码吗?
-
如果你同时使用 console.log() 你会得到什么?
-
可能你没有将 dataType 中的 T 大写...