jrg*_*man 8 php ajax laravel laravel-5 laravel-5.1
相关代码如下所示:
var csrfToken = "{{ csrf_token() }}";
xmlhttp.open("POST", "/internal/v1/create/strategy", true);
xmlhttp.setRequestHeader('X-CSRF-TOKEN', csrfToken);
postString = "param1=" + varOne + "¶m2=" + varTwo;
xmlhttp.send(postString);
Run Code Online (Sandbox Code Playgroud)
我一直在努力解决这个问题几个小时,老实说,我不知道该做些什么.请注意,如果我使用表单方法,一切正常.我也尝试将CSRF令牌作为postString中的参数发送:"_ token ="+ csrfToken
该问题通过两部分解决方案得到解决:
有必要添加“Content-type”标头,以便 Laravel 能够读取 POST 的参数:
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
Run Code Online (Sandbox Code Playgroud)
此外,在 config/session.php 文件中,还需要将“domain”变量指向应用程序的实际域,而不是默认值 null。这可能是在初始设置期间完成的事情,但我一定忘记这样做了。
进行这两项更改后,POST 请求将通过 AJAX 调用成功完成。