У меня возникают проблемы с моим вызовом ajax. Когда я пытаюсь предупредить результат, он продолжает отображаться как Undefined.Мой объект ajax JSON распознается как «Undefined»
Оба предупреждения приводят к неопределенным. Я не уверен, правильно ли это кодирование, пожалуйста, помогите мне, если я есть.
В: Если я обращаюсь к нему неправильно, как именно я могу получить доступ к свойству/индексу навыка.
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;
}
}
Сортировать умение вызывается в отдельном файле PHP называется sort_skill_be.php, который вызывается из JQuery, когда выбор изменяется ,
<?php
session_start();
include 'database.php';
$skill_sort = $_POST['skill'];
sortSkill($skill_sort);
header('Location:index.php');
?>
EDIT: добавлен тип данных JSON в JQuery
Теперь моя проблема предупреждения не вызывается вообще больше.
Показать код, где 'helpFetchPostInfo' называется –
Итак, теперь покажите нам, где вызывается' sortSkill'? –