gpt4 book ai didi

php - 我的 ajax JSON 对象被识别为 "Undefined"

转载 作者:行者123 更新时间:2023-12-01 08:05:00 25 4
gpt4 key购买 nike

我的 ajax 调用遇到问题。当我尝试提醒结果时,它始终显示为“未定义”。

这两个警报均未定义。我不太确定我的编码是否正确,如果正确,请帮助我。

问:如果我访问不正确,我该如何访问技能属性/索引。

JQUERY/JSCRIPT

$(document).ready(function(){
// Skill sort on change
$('#order_by').on('change', function() {
$.ajax({
type: "POST",
url: "sort_skill_be.php",
dataType: "json",
data: {skill:this.value}
}).done(function(result){
alert(result[0].skill);
})
});
});

PHP FILE:此方法接收一条语句并将“对象”数组放置到整个数组中。

function helpFetchPostInfo($stmt){
$results = $stmt->fetchAll();
$recent_posts = array();
foreach ($results as $row){
$post = array(
'username' => $row['username'],
'steam' => $row['steam'],
'skill' => $row['skill'],
'description' => $row['description'],
'date' => $row['date'],
);
array_push($recent_posts, $post);
}
return json_encode($recent_posts);
}

感谢您的帮助,非常感谢

function sortSkill($skill){
// If All skill is selected display posts normally
if ($skill == 'All'){
displayPosts();
exit;
}
$db = connect();
$sql = "SELECT * FROM users LEFT JOIN posts
ON users.idUsers = posts.fkuser
WHERE posts.fkuser IS NOT NULL and users.skill=:skill
ORDER BY date DESC";
$stmt = $db->prepare($sql);
$stmt->execute(array(':skill' => $skill));
if ($stmt->rowCount() == 0){
// Nothing has returned
unset($_SESSION['recent_posts']); // Reset session of posts if no posts appear.
}
else
{
$recent_posts = helpFetchPostInfo($stmt);
return $recent_posts;
}
}

排序技能在名为 sort_skill_be.php 的单独 php 文件中调用,当选择更改时从 jquery 调用该文件。

<?php
session_start();
include 'database.php';
$skill_sort = $_POST['skill'];
sortSkill($skill_sort);
header('Location:index.php');
?>

编辑:向 jquery 添加 JSON 数据类型

现在我的问题是警报根本不再被调用。

最佳答案

您似乎没有在 ajax 方法中提供 dataType 属性。

dataType: "json",

要么执行此操作,要么在访问结果之前将其解析为 JSON

我没有发现您尝试访问该对象的方式有任何问题。

关于php - 我的 ajax JSON 对象被识别为 "Undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225850/

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