【发布时间】:2016-03-12 09:21:41
【问题描述】:
我正在执行 ajax 请求,如果验证失败,则会向用户显示错误消息。
但是,用户也可以在控制台中看到错误消息。例如,如果用户没有完成其中一个字段,则在控制台中,它会显示以下内容:
加载资源失败:服务器响应状态为 422 (Unprocessable Entity)
我不希望他们看到错误。如何防止他们在控制台中看到此类错误以及其他错误,例如 501 错误等。我只是想显示一个警告说“发生错误”。我不想在控制台中显示任何内容。
我当前的 AJAX 代码:
(function ($) {
$('#settingsForm').submit(function (e) {
$.ajax({
type: "POST",
dataType: 'JSON',
url: '/settings',
data: $('#settingsForm').serialize(),
beforeSend: function () {
},
success: function (data) {
message(data);
},
error: function (data) {
if (data.status === 422 ) {
var errors = $.parseJSON(data.responseText);
errorsHtml = '<div class="alert alert-danger"><ul>';
$.each(errors, function (index, value) {
errorsHtml += '<li>' + value + '</li>';
});
errorsHtml += '</ul></div>'
$('#status_settings').html(errorsHtml);
}
}
})
;
e.preventDefault();
})
;
})
(window.jQuery);
【问题讨论】:
-
您是否有任何特殊原因要隐藏这些错误消息?我认为,如果可能的话,它需要一些特殊的权限来请求,或者通过浏览器扩展。
-
可能在 dataType: 'JSON' 上。你得到现场的输入了吗?测试
Input::get('YOUR_INPUT_FIELD') -
我没有显示,而是观察错误并显示错误警报。我得到了现场输入,是的
-
对不起,我错过了理解你的问题,所以你想在浏览器控制台中抑制错误代码。是的,您可以通过 javascript 访问 chrome 控制台对象,但是您是否可以抑制错误,这需要一些在这方面有经验的人。
-
你不能。这些是 HTTP 错误。任何人都可以通过控制台查看它们。
标签: php jquery ajax laravel laravel-5