@sunnyrio

Что за ошибка при использовании аякса?

При обращении к серверу в консоли выдается такое сообщение:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
В чем может быть причина?

Сервер что обрабатывает этот запрос:
<?php

/*
* Получение страницы
*/
function add_comment(){
	global $connection;
	$comment_author = trim(mysqli_real_escape_string($connection, $_POST['commentAuthor']));
	$comment_text = trim(mysqli_real_escape_string($connection, $_POST['commentText']));
	$parent = (int)$_POST['parent'];
	$comment_product = (int)$_POST['productId'];
	
	// если нет ID товара
	if(!$comment_product){
		$res = array('answer' => 'Неизвестный продукт!');
		return json_encode($res);
	}
	// если не заполнены поля
	if(empty($comment_author) OR empty($comment_text)){
		$res = array('answer' => 'Все поля обязательны к запалнению');
		return json_encode($res);
	}
}

?>


Запрос аякс:
$.ajax({
	url: '<?=PATH?>add_comment',
	type: 'POST',
	data: {commentAuthor: commentAuthor, commentText: commentText, parent: parent, productId: productId},
	success: function(res){
		var result = JSON.parse(res);
		console.log(result);
	},
	error: function(){
		alert('Ошибка JQ user');
	}
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
if(!$comment_product){
    $res = array('answer' => 'Неизвестный продукт!');
    return json_encode($res);
  }
  // если не заполнены поля
  if(empty($comment_author) OR empty($comment_text)){
    $res = array('answer' => 'Все поля обязательны к запалнению');
    return json_encode($res);
  }


А где отправка результата если все верно? Ни один иф не выстрелил - что вернуть серверу? Пустая строка кстати не является валидным джсоном.
А для упрощения - выведите в консоль на клиенте res ДО попытки его парсинга.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы