У меня есть такой JS-функция, которая передает данные в файл, который содержит функцию, которая отправляет обратно JSON-ответ:JSON, Синтаксическая ошибка: неожиданный маркер I (...)
function deleteCategory(id){
console.log(id);
$.ajax({
url: '<?php echo $cfg['options']['siteurl']; ?>/gears/ajax.deletePkgCatAsideMenu.php',
type: 'POST',
dataType: 'JSON',
data: {idItem:id},
success: function(data) {
console.log(data);
if (data.type=='error') {
notify(data.type, data.type, data.text);
} else{
document.location.reload();
}
},
error: function(v1,v2,v3) {
alert('Ошибка!\nПопробуйте позже.');//in english it will be: alert('Error!\nTry again later.');
console.log(v1,v2,v3);
}
});
}
В конце этого файла эти действия происходят:
$q = 'DELETE FROM `pkg_cat_aside_menu` WHERE pkg_cat_ddlist_id='.$idItem;
$db->query($q);
exit(json_encode(array('type'=>'ok','text'=>'Удаление произведено!')));
//or in english: exit(json_encode(array('type'=>'ok','text'=>'Deleted!')));
Это текст ответа:
"int(13) {"type":"ok","text":"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u043e!"}"
И ошибка ошибка синтаксиса: неожиданный маркер я (...) Я думаю, это происходит, потому что я делал действия с базой данных (delete), ответ на которую удалял номер записи (13), и он был включен в json-respose. Как это исправить?
Изменить кавычки, 'url: ' Php echo $ cfg [' options '] [' siteurl ']; ?>/gears/ajax.deletePkgCatAsideMenu.php ', '? – Tushar
Он пытается декодировать 'int (13)' часть? Когда я копировал все остальное, это прекрасно, как JSON. –