Здравствуйте.
При отправке запроса в метод контроллера в ответ приходит ошибка unexpected token in json at position 0. Однако если обновить страницу, то товары в корзине всё таки обновляются. Код метода в контроллере( я изменил стандартный под свои нужды)
public function edit() {
$this->load->language('checkout/cart');
$json = array();
// Update
if (!empty($this->request->post['quantity'])) {
$this->cart->update($this->request->post['key'], $this->request->post['quantity']);
$this->session->data['success'] = $this->language->get('text_remove');
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['reward']);
$this->response->redirect($this->url->link('checkout/cart'));
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
И код отправки
$.ajax({
url: 'index.php?route=checkout/cart/edit',
type: 'post',
data: 'key=' + id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
dataType: 'json',
beforeSend: function() {
},
complete: function(json) {
console.log(json)
},
success: function(json) {
console.log(json)
if (json['redirect']) {
location = json['redirect'];
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
В ответ я ожидаю увидеть цену и количество товаров в корзине,а вижу только эту ошибку. Копаюсь уже второй день и не могу понять почему приходит ошибка, если метод срабатывает и всё таки корзина обновляется.