代碼:
<script>
let _token = "{{ csrf_token() }}";
console.log(_token);
$('.del').on('click',function (evt) {
// evt.preventDefault();
//獲取相關信息
let url = $(this).attr('href');
let type = 'DELETE';
let data = {_token};
console.log(_token);
$.ajax({
url,
type,
data
}).then(function (value) {
console.log(value);
$(this).parents('tr').remove();
});
// return false;
})
</script>
錯誤信息:
明明自己發送的是delete請求,結果瀏覽器給我發送的是 get請求
原因: 是因爲 a 標籤的href 屬性,沒有被禁止.
解決辦法:
代碼:
<script>
let _token = "{{ csrf_token() }}";
console.log(_token);
$('.del').on('click',function (evt) {
evt.preventDefault();
//獲取相關信息
let url = $(this).attr('href');
let type = 'DELETE';
let data = {_token};
console.log(_token);
$.ajax({
url,
type,
data
}).then(function (value) {
console.log(value);
$(this).parents('tr').remove();
});
// return false;
})
</script>
圖片:
路由:web.php中
總結:
1.方法不允許優先檢查 csrf 跨站請求僞裝是否屏蔽?
沒有屏蔽,那麼 要將_token 攜帶過來,
2.路由是否匹配
3.本次的問題點是 href屬性的行爲沒有被禁止,那麼就會發送get請求.