@lanzor

При попытке отправить Ajax запрос выдает ошибку: Uncaught SyntaxError: Unexpected token A in JSON at position 0 at Function.parse [as parseJSON]...?

Полная версия ошибки:
VM617:1 Uncaught SyntaxError: Unexpected token A in JSON at position 0
at Function.parse [as parseJSON] ()
at Object. (query.js:10)
at c (jquery-3.5.1.min.js:2)
at Object.fireWith [as resolveWith] (jquery-3.5.1.min.js:2)
at l (jquery-3.5.1.min.js:2)
at XMLHttpRequest. (jquery-3.5.1.min.js:2)

Ajax-код (query.js):
$(document).ready(function() {
	$('#id90').click(function() {
		let postQueryUnicalId = 'pm';
		$.ajax({
			type: 'POST',
			url: '../db-query-array.php',
			dataType: 'text',
			data: 'postQueryUnicalId=' + postQueryUnicalId
		}).done(function(msg) {
			let table_array = $.parseJSON(msg);
			alert(table_array);
		}).fail(function() {
			alert('Произошла ошибка!');
		});
	});
});


Принимающий пхп (db-query-array.php):
require ('db-connect.php');

if($_POST['postQueryUnicalId'] == 'pm') {
	$stmt = $pdo->prepare('SELECT * FROM markers');
	$stmt->execute();

	if($stmt->rowCount() > 0) {
		foreach ($stmt as $row) {
			echo json_encode($row);
		}
	} else {
		echo json_encode('База данных пуста!');
	}
}


Как думаете, в чем может быть проблема? Весь инет облазил, но понять так и не смог!
  • Вопрос задан
  • 1397 просмотров
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
проблема в том что яваскрипт ждет 1 жейсон а ты посылаешь ему 100500

if($_POST['postQueryUnicalId'] == 'pm') {
    $stmt = $pdo->query('SELECT * FROM markers');
    echo json_encode($stmt->fetchAll());
}
Ответ написан
Stalker_RED
@Stalker_RED
Откройте в devtools вкладку сеть, найдите этот запрос, и посмотирте что НА САМОМ ДЕЛЕ приходит в ответе сервера. В ошибке написано, что ответ начинается с символа "A", при том что json должен начинаться со скобки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы