2014-10-23 3 views
2

Я использую Laravel 4 для проекта, над которым я работаю. Он сильно опирается на AJAX для многих своих функций.Возврат правильного ответа JSON

В JQuery я использую для загрузки файлов (FileUpload), я следующий успех и неудача функции:

done: function (e, data) { 
    // Show success message 
}, 
fail: function (e, data) { 
    // Show fail message 
} 

В моем контроллере, я использую следующий вернуть успех или неудачу:

// Success Response 
return Response::json('success', 200) 

// Fail Response 
return Response::json('error', 400) 

Все работает нормально с функциональностью, сообщения об успешности и сбое отображаются, загрузка файлов, все идеально, за исключением случаев, когда функция не работает, и возвращает ответ сбоя, на консоли я вижу:

400 (Bad Request) 

Сообщение об ошибке по-прежнему отображается, и все это хорошо, но мне просто интересно, правильно ли я это делаю, мне не нравятся красные ошибки, отображаемые на моей консоли, для чего-то, что кажется правильным.

Любые советы были бы весьма полезными.

ответ

3

Это точно, как это работает. Вы выбрасываете код состояния HTML для ошибки, которая является «лучшей практикой» для API.

Консоль показывает ошибку, так как она видит код статуса не-200, а затем предупреждает вас.

+0

Ahh ok, так что я делаю правильно, мне просто нужно привыкнуть к красным ошибкам консоли ... Немного OCD здесь я думаю, hahaha – BigJobbies

0

Для API, если есть ошибка, я часто использую код 500, потому что это ошибка сервера. 40x код используется с ошибками клиента, как указано в этом документе http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

В вашем случае 400 код позволяют браузеру думать, что ваш API конечной точки не существует, когда 500 код сказать ему, что это конечная точка в порядке, но есть ошибка при обработке ваш звонок.

+0

Но он по-прежнему показывает 500 внутренних ошибок сервера в консоли – BigJobbies

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