2015-10-17 3 views
0

У меня есть такой 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. Как это исправить?

+0

Изменить кавычки, 'url: '/gears/ajax.deletePkgCatAsideMenu.php ', '? – Tushar

+0

Он пытается декодировать 'int (13)' часть? Когда я копировал все остальное, это прекрасно, как JSON. –

ответ

1

int(13) заставляет меня думать, что у вас есть var_dump($idItem); где-то ранее в вашем PHP-коде, что приводит к тому, что ответ недействителен.

+0

@Pauplo, Спасибо, у меня действительно есть var_dump. Он работает сейчас! – pragmus

Смежные вопросы