Как обрабатывать ошибки запросов в Zend?

У меня простой вопрос.

Я работаю над Zend Framework 2.
Я пытаюсь позвонить AJAX, чтобы получить все данные бронирования из таблицы. booking передавая booking_id. Проблема в том, что запрос не выполняется по неизвестным причинам. Фактический запрос сложный, и он работает, когда я заменяю $ booking_id на фактический booking_id, например «22432». Следовательно, я считаю, что запрос в порядке, есть некоторые другие проблемы.

Но я не знаю, как получить ошибки / исключения запроса в вызове Ajax. Может кто-то помочь мне с этим?

Javascript:

$.post("dashboard/getBookingDataByBookingId", {
booking_id: bookingId,
},
function(data){
if(data.response == true) {
alert(data);
} else {
alert('failed');
}
}, 'json');

контроллер

public function getBookingDataByBookingIdAction()
{
$request = $this->getRequest();
$response = $this->getResponse();
if ($request->isPost())
{
$post_data = $request->getPost();
$booking_id = $post_data['booking_id'];
$booking_data = array();
$booking_data = $this->getBookingTable()->getBookingByUserIdAndBookingId($booking_id);
if (!$booking_data)
$response->setContent(\Zend\Json\Json::encode(array('response' => false, 'booking_data' => $booking_data)));
else {
$response->setContent(\Zend\Json\Json::encode(array('response' => true, 'booking_data' => $booking_data)));
}
}
return $response;
}

Модель bookingTable имеет публичную функцию:

public function getBookingByUserIdAndBookingId($booking_id)
{
$sql = "Select * from booking where id='".$booking_id."';
try {
$statement = $this->adapter->query($sql);
$res =  $statement->execute();
return $res->current();
} catch (Exception $ex) {
return $ex;
}
}

0

Решение

Вы публикуете переменную с именем ‘id’:

{
id: bookingId,
}

Таким образом, вы должны получить к нему доступ как:

$post_data = $request->getPost();
$booking_id = $post_data['id'];

или более кратко:

$booking_id = $request->getPost('id');

Вам также следует использовать параметризованные запросы, чтобы избежать внедрения SQL.

0

Другие решения

Для получения ошибок / исключений в вызове Ajax используйте:

В Google Chrome используйте: ПОЧТАЛЬОН расширение

В FireFox пользователь: поджигатель Plugin

0

По вопросам рекламы [email protected]