2016-03-23 2 views
-1

Итак, я делаю вызов AJAX и отправляю его в файл PHP. Он обрабатывает его и фактически сохраняет в базе данных. Итак, на самом деле работает AJAX. Но, когда он возвращается, он, очевидно, читает как ошибку, потому что я получаю предупреждение, связанное с сообщением об ошибке .. Вот мой Аякс из моего файла JavaScript ...Почему мой вызов AJAX не работает?

$.ajax({ 
      type: "POST", 
      url: "printMail.php?do=insertExport", 
      dataType: "json", 
      data: {'dtData': JSON.stringify(delTick)}, 
      success: function (resp) { 
       console.log(resp); 
       alert("Made it here"); 
      }, 
      error: function (err) { 
       console.log(err); 
       alert("Delivery ticket was not saved!"); 
      } 

     }); 

Теперь РНР будет немного странно, что мы используем API для Inhouse записи в базу данных ... Но вот это ..

$values = json_decode($_REQUEST['dtData']); 
     // var_dump($dtData); 
     try { 
      $saveExp = $this->dbp->callMethod("exportdeliveryticket", 'saveDeliveryTicket', $values); 
      echo json_encode($saveExp); 
     } catch (Exception $e) { 
      throw new Exception("Failed while saving delivery ticket " . $e); 
     } 

Наконец, вот мой ответ через консоль ...

"status":"SUCCESS","message":"Successfully called","data":[{"book":"2",".... etc, etc... 

Опять , он экономит на но все же, js видит это как провал, и я не вижу, почему ...

+0

Поскольку это ошибка jQuery/HTTP, а не ошибка в вашем коде, что такое 'textStatus' и' errorThrown', если вы включаете эти параметры в свой обработчик (т. Е. 'Error: function (xhr, textStatus, errorThrown) ') – VoteyDisciple

+0

textstatus = parseerror и errorThrown is Неожиданный токен <(..) – trouble706

+0

Только что понял, что в тексте ответа он возвращает html как часть объекта ... Может быть, это имеет какое-то отношение к нему? – trouble706

ответ

2

и Unexpected token означает, что вы подозревали: вы спросили jQuery проанализировать результат как JSON, но он не имеет действительный JSON (с ним тоже есть HTML-код).

Убедитесь, что результат действителен. JSON (или, если вы хотите HTML, не говорите jQuery, чтобы разобрать его как JSON), и он пройдет через успешную транзакцию.

+0

Спасибо VoteyDisciple ... Я вижу это сейчас .. Принимаю ваш ответ, как только это позволит мне это сделать .. – trouble706