问题描述
我在网络中使用了csrf保护
每次我执行ajax调用时,我都会更新控制器发送的csrf令牌
一切正常
我的代码:
var csrfName = '<?= csrf_token() ?>',csrfHash = '<?= csrf_hash() ?>';
$(function() {
$.ajax({
url: "/categories/get",type: 'post',dataType: 'json',data: {
[csrfName]: csrfHash,},success: function(result) {
// update csrf token
csrfName = result.csrfName;
csrfHash = result.csrfHash;
// my code ..
},error: function(xhr,type,error) {
console.log(error);
}
});
$.ajax({
url: "/services/get",error) {
console.log);
}
});
代码:
// Form Order
$("form#form-order").submit(function(e) {
e.preventDefault();
let user = $("input[name=user_id]").val();
let service = $("input[name=service_id").val();
let data = $("input[name=data]").val();
let quantity = $("input[name=quantity]").val();
$.ajax({
url: "/orders/new",type: "post",data: {
user_id: user,service_id: service,data: data,quantity: quantity,[csrfName]: csrfHash,success: function(result) {
// update csrf token
csrfName = result.csrfName;
csrfHash = result.csrfHash;
// my code ..
},error) {
console.log(error);
},});
});
每次执行ajax调用时,我总是更新csrf令牌
而且,我的表单没有操作和方法属性,以确保未提交表单并更改csrf令牌
还是因为范围可变?
请帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)