如何在使用axios发送ajax请求时添加令牌?
我正在使用Laravel如何在使用axios发送ajax请求时添加令牌?,ajax,laravel,vue.js,axios,Ajax,Laravel,Vue.js,Axios,我正在使用Laravel5.3和vue.js2.0, 我使用axios()发送ajax请求, 我按照文档设置令牌,如下所示: <script> axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; //The error is at this line. new Vue({ el: "#app", data: function () { r
5.3
和vue.js2.0
,我使用axios()发送ajax请求,
我按照文档设置
令牌
,如下所示:
<script>
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN; //The error is at this line.
new Vue({
el: "#app",
data: function () {
return {
items: []
}
},
mounted: function () {
this.$nextTick(function () {
axios.get('/articles').then(function (response) {
response.data.forEach(function (item) {
item.selected = false;
});
this.items = response.data;
}).catch(function (error) {
console.log(error);
});
});
}
});
</script>
Uncaught ReferenceError: AUTH_TOKEN is not defined
我该怎么办?您在窗口上设置了身份验证令牌了吗?如果不是
window.AUTH\u令牌
自然不会被定义
laravel应用程序头部的常见设置是:
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
window.Laravel=
因此,这将设置csrf令牌。我无法想象您将如何设置身份验证令牌,因此您可能只需要了解调用window.Auth\u令牌的原因
就生成令牌的方式而言,这取决于您需要的类型,但一旦您拥有了令牌,您可能希望查看它的存储方式。这样做将允许您在整个应用程序中访问它,而无需在窗口上存储任何内容。您是否在窗口上设置了AUTH\u令牌?如果不是window.AUTH\u令牌
自然不会被定义
laravel应用程序头部的常见设置是:
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
window.Laravel=
因此,这将设置csrf令牌。我无法想象您将如何设置身份验证令牌,因此您可能只需要了解调用window.Auth\u令牌的原因
就生成令牌的方式而言,这取决于您需要的类型,但一旦您拥有了令牌,您可能希望查看它的存储方式。这样做将允许您在整个应用程序中访问它,而无需在窗口中存储任何内容。它应该是
axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content')
您可以删除
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
window.Laravel=
第部分应该是
axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content')
您可以删除
<script>
window.Laravel = <?php echo json_encode([
'csrfToken' => csrf_token(),
]); ?>
</script>
window.Laravel=
部分我对laravel不太了解,我们是否需要使用JSON.parse(“”
而不是
?echo JSON_encode()
将php数组转换为输出JSON对象,这样它就可以正常工作了。这里的问题似乎很简单,AUTH_TOKEN
没有被设置在任何地方。我给这个脚本标签更多的是作为一个例子,说明如果全局js变量需要服务器端解析,如何在Laravel中设置它们。啊!我在上一篇评论中一直使用这种方法,从来没有想过输出的json字符串已经是有效的javascript对象文本……我对laravel不太了解,我们是否需要使用json.parse(“”
)而不是
?echo json_encode()
将php数组转换为输出json对象,这样它就可以正常工作。这里的问题似乎很简单,AUTH_TOKEN
没有被设置在任何地方。我给这个脚本标签更多的是作为一个例子,说明如果全局js变量需要服务器端解析,如何在Laravel中设置它们。啊!我在上一篇评论中一直使用这种方法,从未想过输出的json字符串已经是有效的javascript对象文本。。。