如何在Laravel中使用jQuery ajax请求自动添加X-CSRF-TOKEN
在Laravel中,默认情况下使用Axios HTTP库可以自动将csrf-token元标签的值注册。但是,如果你不使用这个库,你需要手动配置这个行为。
要做到这一点,将token存储在一个HTML meta标签中:
然后,一旦你创建了这个meta标签,你可以命令jQuery库自动将token添加到所有的请求头中。
为此,将以下代码添加到`resources/js/bootstrap.js`文件(对于Laravel 5.7),或者`resources/assets/js/bootstrap.js`文件(对于Laravel 5.6及更早版本)中:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
现在,你可以在不手动添加csrf token的情况下使用Ajax请求:
$.ajax({ type:'post', url: "/email/unique", data: { "email": email }, success: function(data) { console.log(data); } });
通过上述步骤,你可以在使用jQuery Ajax请求时自动添加X-CSRF-TOKEN头部,并解决Laravel中的csrf token问题。