【发布时间】:2015-10-25 04:07:26
【问题描述】:
相关代码如下:
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);
我已经想了好几个小时了,老实说,我现在不知道该怎么做。请注意,如果我使用 form 方法,一切正常。我还尝试将 CSRF 令牌作为 postString 中的参数发送:“_token=" + csrfToken
【问题讨论】:
-
你试过
X-XSRF-TOKEN吗? -
您是否尝试调试发布请求以查看标头是否真正被传输?我也看不到你是如何实例化你的 xmlhttp 对象的。
-
xmlhttp 对象在代码的前面通常被实例化,但我能够修复代码。这里有两个问题,在 config/session.php 文件中,域设置为空,我在某处读到这需要设置,否则会导致错误,所以我这样做了,但另外我需要包含内容-type 为 url 编码形式。
-
您是否使用
PHP在JavaScript变量中回显令牌?使用<meta name="_token" value="{{ csrf_token() }}" />之类的东西,然后尝试在JavaScript中访问它。 -
我曾经是,现在仍然是。尽管基于我上面提到的修复,我已经让代码本身可以工作。
标签: php ajax laravel laravel-5 laravel-5.1