2015-09-14 2 views
1

У меня есть $ .ajax вызов на который выглядит следующим образом:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#add_com_frm').submit(function (e) { 

      e.preventDefault(); 
      var $btn_c = $('#add_com_but').button('loading'); 
      tinyMCE.triggerSave(); 

      var data = { 
       "id": document.getElementById("id").value, 
       "body": tinymce.get('body').getContent() 
      }; 

      $.ajax({ 
       type: "POST", 
       url: 'https://something/test.php', 
       data: data, 
       dataType: 'json', 
       success: function(msg,string,jqXHR) { 
        alert(msg.test); 
       } 
      }); 

     }); 
    }); 
</script> 

теперь есть что-то странное, что я просто не могу объяснить логически.

PHP сторона:

<?php 
    $id = $filter->purify($_POST['id']); 
    $body = $filter->purify($_POST['body']); 

    $today = date('d.m.Y'); 
    $who = 'Someone'; 

    $result = $db->insert_com($id, $body, $who, $today); 

    $list = array('test' => 'something'); 
    $c = json_encode($list); 
    echo $c; 
?> 

Теперь, если я строка комментария // $ результат = $ db-> вставить [...] Я получил предупреждение от JQuery возврата msg.test, что ' что-то », и это работает, но по какой-то странной причине, когда я не комментирую эту строку, связанную с базой данных, даже если она не связана напрямую с возвращаемым json, она просто не работает и не отображается предупреждение. У меня нет логического объяснения этому, эта строка как-то испортила json encode, которая была возвращена при echo'ed, но почему? и как? Без понятия!

+0

Добавить обработчик ошибок в вызов Ajax. Посмотрите, в чем проблема – epascarello

+0

Hmz, 200, неожиданный токен <- любая идея? – dunnoman

+0

Проверьте ответ вызова Ajax на вкладке сети инструментов разработчика. Это не будет действительным JSON. – Andreas

ответ

0

Хорошо, ребята, поэтому выяснилось, что причина в том, что у меня есть класс include_once для комментариев в моем обработчике базы данных. Обоснование для этого основано на вставке, когда я хотел выполнить объект Comment с новыми данными и вернуть его как html. Возможно, вы знаете, как изменить функцию звонящего, чтобы принять этот html?

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