2015-09-10 6 views
2

Использование Laravel -Как я могу получить ошибку заголовка ответа из JavaScript?

abort(403, 'This is an exception message.'); 

Как я могу открыть сообщение из моего JavaScript?

// Get the project based on projectID. 
$.ajax({ 
    type: 'GET', 
    url: '/api/projects/getProject/' + projectID 
}).done(function(response){ 
    ProjectStore.getProjectSuccessful(response); 
}).error(function(error){ 
    console.log(error) 
}); 

Моего error объект имеет statusText свойство «Запрещено», и responseText свойства, которое содержит весь HTML (в котором я могу видеть мое сообщение об ошибке) - но есть простой способ доступа к этому сообщению от мой объект ошибки без разбора через HTML?

+1

'Forbidden' ошибка HTTP, код ошибки 403. Таким образом, вы на самом деле получить ошибку - проверить, если у вас есть правильные разрешения – messerbill

+0

My bad - я использую 'abort (403, 'Это сообщение об исключении.')' - поэтому он показывает «Запрещено». Я по-прежнему не знаю, как получить доступ к самому сообщению, не пройдя через HTML, который возвращается как ответ. – Rail24

ответ

2

Я обнаружил, что функция abort() принимает третий аргумент - массив - и это отправляется через заголовок ответа.

Итак - обновленный код в PHP:

$error = 'User not authorized to view project.'; 
abort(401, $error, array('errorText'=>$error)); 

В моей JavaScript:

// Get the project based on projectID. 
$.ajax({ 
    type: 'GET', 
    url: '/api/projects/getProject/' + projectID 
}).done(function(response){ 
    ProjectStore.getProjectSuccessful(response); 
}).error(function(error){ 
    console.log(error.getResponseHeader('errorText')); 
}); 
Смежные вопросы