Функция, которую он выполняет, — это просто обновление заказа. Ошибка выдается только тогда, когда пользователь системы пытается отредактировать заказ, созданный другим пользователем.
Например, если Луис пытается отредактировать заказ, который он сделал сам, система сохраняет изменения,
но если Луис попытается отредактировать заказ, сделанный Люси, AJAX ответит ошибкой 403 Forbbidden.
Повторяю, этот модуль работает корректно в моей локальной среде, то есть позволяет любому пользователю редактировать любой порядок, но в производстве это не так.
Маршрут в web.php — POST, он поддерживает запросы AJAX.
My PRODUCTION Environment размещен на экземпляре AWS EC2.
В контроллере нет ограничения по идентификатору пользователей, только по ролям, но это ни при чем. Я использую роль суперадминистратора и у меня есть все разрешения.
AJAX
Код: Выделить всё
$( '.btnSaveOrder' ).click(function () {
$( '#overlay' ).show();
$( '.btn' ).prop('disabled', true);
if(orderItems.length == 0){
erroresValidacion("erroresValidacionPedido", "Debes agregar productos a la orden");
$( '#overlay' ).hide();
$( '.btn' ).prop('disabled', false);
return;
} else {
$( '#orderItemList' ).val(JSON.stringify(orderItems));
$( '#deletedOrderItemList' ).val(JSON.stringify(removedOrderItems));
}
$.ajax({
url : "{{ route('pedidos.editar') }}",
method : "POST",
data : $( '#formSaveOrder' ).serialize()
}).done(function( data ) {
if(data.resultado === 'OK') {
//Codigo para reedirigir a nuevo pedido
confirmarYRedirigir('Orden Guardada','La operación se ha realizado con exito.','listado');
} else {
var errorMsg = "
Error al editar el pedido.[list]";
$.each(data.mensajes, function(i,val) { errorMsg += ("[*]" + val + ""); } );
errorMsg += "[/list]";
erroresValidacion("erroresValidacionPedido", errorMsg);
}
}).fail(function (jqXHR, textStatus) { //
[b]ОБНОВЛЕНИЕ:[/b]
Проверьте консоль AWS, в правилах WAF есть правила, которые блокируют запросы AJAX, мне придется разобраться какой из них доставляет проблемы
Подробнее здесь: [url]https://stackoverflow.com/questions/78668545/laravel-jquery-ajax-call-results-in-error-status-403-sometimes[/url]
Мобильная версия