Я постоянно использую AJAX, и у меня никогда не возникало проблем. Внезапно каждый из моих вызовов AJAX к различным PHP-страницам на стороне сервера возвращает ответ 200 и не распознает возврат JSON. Когда я посещаю страницу PHP get_message_list.php напрямую, она идеально отображает массив в кодировке JSON, как и ожидалось, {"msg_count":2}, поэтому я знаю, что это правильно. Если я изменю тип данных на «текст» для проверки, он просто выведет HTML текущей страницы. Это только начало происходить, и я понятия не имею, что я делаю не так?! Изменить. Я включил код PHP ниже
$.ajax({
type:'POST',
url: 'functions/get_message_list.php',
data:{"test":1},
contentType: 'application/json;charset=UTF-8',
dataType : "json",
success:function(data){
alert(data.msg_count);
},error: function (request, status, error) {
alert(request.status);
}
})
Вот код страницы PHP:
session_start();
include_once('../system/db.php');
$my_uid = $_SESSION['user']['user_id'];
$query = "SELECT * FROM msg_connect WHERE from_id = {$my_uid}
OR to_id = {$my_uid} ";
$result = mysqli_query($connect, $query);
$mail_list_rows = mysqli_num_rows($result);
echo json_encode(array("msg_count"=>$mail_list_rows));
exit();
Подробнее здесь: https://stackoverflow.com/questions/784 ... 0-response