gpt4 book ai didi

jquery - JSON 对象未定义

转载 作者:行者123 更新时间:2023-11-29 01:31:49 25 4
gpt4 key购买 nike

我有一个 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]);
}

最佳答案

如果它在警报弹出窗口中显示一个字符串,则表示数据是一个字符串,而不是 JSON。对于 JSON,它显示 [Object object]。

检查响应类型。它应该是 applicaton/json 或 applicaton/javascript,而不是 text/plain 或类似的东西。

更新:还要确保服务器不会返回引号中的整个字符串。例如。 “[..]” - 它只是一个字符串。所以使用 FireBug 或 Chrome 开发者工具来查看实际响应是什么。这可能有助于理解为什么 jQuery 不能正确处理它。

关于jquery - JSON 对象未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com