Возникает следующая ошибка: JSON .parse: неожиданный символ в строке 2 столбца 1 данных JSON. Из контроллера Zend Framework 3 я использую JsonModel () для переноса ответа, который я хочу отправить в виде json сообщения клиенту. Обратите внимание, что он выполняет функцию успеха ajax, когда я изменяю dataType на "html". Но в этом случае либо я не могу получить доступ к элементам данных.
Клиент - Ajax вызов, который выглядит следующим образом:
$(document).ready(function(event){
$("#preview").click( function(event){
event.preventDefault();
var controllerId = $(this).attr("controller-id");
alert("coontrollerId - "+controllerId);
$.ajax({
url: '/dpo/policyPreview/'+controllerId,
type: 'POST',
dataType: 'json',
data: controllerId,
async: true,
success: function(response) {
try {
alert("Result".response."status");
} catch (e) {
return false;
}
return true;
},
error: function(xhr, status, thrown) {
alert("Error");
console.log(status);
}
});
});
Сторона сервера - Zend Framework 3:
public function previewAction()
{
$request = $this->getRequest();
//get parameters $query->get('showJson') == 1
$controllerId = (int)$this->params()->fromRoute('controllerId',-1);
$query = $request->getQuery();
if ($request->isXmlHttpRequest() || $showJson ) {
$view = new JsonModel([
'status' => 'SUCCESS',
'message'=>'Here is your data',
'data' => [
'full_name' => 'John Doe',
'address' => '51 Middle st.'
]
]);
//do not render the view
//$view->setTerminal(true);
return $view;
} else {
$view = new ViewModel();
}
return $view;
}