2012-03-27 2 views
1

Я хочу, чтобы стереть асинхронные действия с использованием AJAX, в контроллере я делаю действие, которое обрабатывают запросОшибка в формате JSON parsing- рамки ZEND

public function deleteAction() { 

    $request = $this->getRequest(); 
    if ($request) { 
     $visitId = $request->getParam('visit_id'); 
     $mapper = new Visits_Model_VisitsMapper(); 
     try { 
      $mapper->deleteVisit($visitId); 
      echo json_encode("1"); 
     } catch (Exception $e) { 
      $this->view->message = "error inserting Data, Error details: " . $e->getMessage(); 
      echo json_encode("0"); 
     } 

     Zend_Controller_Front::getInstance()->setParam('noViewRenderer', true); 
    } 
} 

и в Jquery сценария

$("a.delete").live('click',function(e){ 
    e.preventDefault(); 
    var data={ 
       "visit_id":$(this).parent().parent().attr("id") 
    }; 

    jQuery.ajax({ 
     url: "/visits/visit/delete", 
     type: "POST", 
     dataType: 'json', 
     data: requestDate, 
     success: successCallback, 
     error:failureCallback 
    }); 

Когда я нажимаю кнопку «Удалить», запрос отправляется, и появляется ошибка при всплывании

Error <!-- application/layouts/scripts/layout.phtml --> 
the whole html of layout page.... 
error SyntaxError: JSON.parse: unexpected character 

Я обнаружил, что d elete процесс не получился !! Когда я отправляю синхронный запрос, операция удаления успешно завершена. А также, когда я делаю вызов AJAX без использования страницы макета, удаленное успешно завершено.

Какая ошибка?

+0

'dataType: 'jsonp',' change this and give it another go ... обычно исправляет проблему. – Val

+0

Нет, это не сработает ... – palAlaa

ответ

0

Я подозреваю, что ваш макет визуализирован, а затем получает синтаксический анализ (неудачно) кодом jQuery. Попробуйте отключить его:

try { 
    $mapper->deleteVisit($visitId); 
    if ($this->getRequest->isXmlHttpRequest()) { 
     $this->_helper->json("1"); //this will disable layout and view renderer 
            //and echo your data 
    } 
    else { 
     //... 
    } 
} 
+0

Это простая ошибка для отслеживания, просто внимательно прочитайте, какой файл и строка ошибка на – bububaba

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