У меня есть функция ajax, которая извлекает два значения для данного сообщения: одно для числа понравившихся, другое для div
, которое содержит всех людей, которым понравился этот пост.JSON не может прочитать возвращаемое значение ajax
Все, кажется, работает нормально, результат json верен, но результат печати неверен. Каждый раз, когда я пытаюсь получить количество понравившихся (data.numDiLikes
), я всегда получаю undefined
, хотя json говорит {"numDiLikes":"1","personeACuiPiace":"div info and stuff"}
, как я исправить это?
AJAX с JSON
$.ajax({
dataType: "json",
type: 'POST',
cache: false,
url: "lib/ottieniCose.php",
data: { like: "", id: valCOR, comOrisp: comOrisp },
dataType: "html",
success: function(data, textStatus){
trova.find('.numDiLikes').first().replaceWith('<p class="numDiLikes">' + data.numDiLikes + ' mi piace</p>' + data.personeACuiPiace);
}
});
PHP
if ($_POST['comOrisp'] == 'commento') {
$commento->set_likes($_POST['id'], true);
// number of people that liked the post
$return_data['numDiLikes'] = $commento->get_likes($_POST['id'], true);
// div with all the people who liked the post
$return_data['personeACuiPiace'] = $commento->posso_fare_qualcosa($_SESSION['auth'], 'cancRisp', $_POST['id']);
echo json_encode($return_data);exit;
}
Добавьте 'console.log (data)' для функции успеха в AJAX и посмотрите, что он показывает в консоли. –
@ Gothdo '{" numDiLikes ":" 1 "," personeACuiPiace ":" div and stuff "}' как я сказал в сообщении. Если вас интересует полный 'personeACuiPiace', это всего лишь куча'