Bất cứ khi nào tôi cố gắng chỉ định tuyến đường từ api.php
Tệp của tôi, tôi nhận được 401: Unauthenticated
-Lỗi.Laravel 5.4 + Ajax bằng 401 Không được xác thực
Đây là tuyến đường:
Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function() {
Route::post('admin/product-image-sort', '[email protected]')->name('api.save-product-image-sort');
});
Im gọi này sử dụng Jquery Ajax:
<script>
$('#sortable-image-container').sortable({
items: '> .row > *',
update: function (event, ui) {
var data = $(this).sortable('serialize');
console.log(data);
$.ajax({
data: data,
type: 'POST',
url: "{{ route('api.save-product-image-sort') }}",
success: function (data) {
if(data == "success"){
$.notify({
icon: 'pe-7s-close-circle',
message: "Sucessfully saved the Image Sorting"
},{
type: 'success',
timer: 500
});
}
}
});
}
});
</script>
Vì vậy, điều này làm việc hoàn hảo khi trừ phần 'middleware' => 'auth:api'
nhưng tôi không muốn chỉ cho phép truy cập của tôi api nội bộ mà không có bất kỳ hình thức xác thực nào.
Điều api làm là gửi một mảng các id mà nó nhận được bằng cách sử dụng tuần tự hóa Sắp xếp của jQuery Ui. Các ApiController sau đó foreachers thông qua đó và cập nhật các phân loại của mỗi hình ảnh của một sản phẩm cụ thể.
Tôi đã bao gồm CSRF Mã thích ghi trong Laravel Documents bằng cách đặt csrf_token()
thành một meta-tag và gắn nó vào mọi yêu cầu Ajax:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
Như tôi cũng có thể nhìn thấy trong tab mạng của Chrome là rằng nó thêm hai cookie vào yêu cầu.
hi bạn đã tìm thấy một giải pháp chưa? – utdev
@utdev Đáng buồn là không. Bạn đã làm trong thời gian chờ đợi? Cảm ơn trước. – PoTTii
Hoặc cung cấp chi tiết xác thực (mã thông báo) hoặc xóa phần mềm trung gian? –