小编Jul*_*ona的帖子

Laravel Axios使用Vue失败,状态码为419

概念:我有一个允许用户发布问题的应用程序......当用户点击Ask按钮时,我试图使用Vue.js和Axios提交问题.

问题: 70%的时间问题正确提交,但30%的时间失败并返回"无法加载资源:服务器响应状态为419(未知状态)"

在此输入图像描述

我的Vue组件

<template>
    <div id = "main_question_box" class = "tab-pane fade">
        <div class="panel-body posting-field-box">        
            <textarea name="feed_body" class="summernote posting-field form-control"></textarea>
            <button class = "example-btn btn btn-xs btn-default pull-right">View Question Examples</button>                                    
        </div>

        <div class="panel-footer">
            <ul class="list-inline pull-right">
                <li>
                    <button @click = "sendPost" class="feed-post-btn btn btn-submit btn-sm btn-success pl-l pr-l">
                        <span>Ask</span>
                        <i class="fa fa-paper-plane pl-sm"></i>
                    </button>
                </li>
            </ul>

            <div class="clearfix"></div>
        </div>
    </div>
</template>

<script>

    axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content')

    export default {
        props:['timelineId'],
        data(){
            return {
                feed_body: '',
                timeline_id: this.timelineId,
                type: 'Question', …
Run Code Online (Sandbox Code Playgroud)

ajax http-status laravel-5 axios vuejs2

6
推荐指数
1
解决办法
2640
查看次数

Vue 未使用 unshift 正确更新 ARRAY

请帮我!!!!!

当我的应用程序启动时,我运行一个 ajax 来获取我所有的提要。这些是我然后存储在作为数组的 vue 变量中的对象。

    props:['id'],
    data(){
        return {
            feedData: []
        } 
    },
    created(){
        axios.get('/feeds/'+this.id).then(response =>{
            this.feedData = response.data.data;
        });
    }
Run Code Online (Sandbox Code Playgroud)

之后,当用户键入并发送新帖子时,我将新帖子存储在数据库中,然后发出一个事件以从数据库中捕获新帖子。这个功能在我的方法中。

    methods: {
        captureFeed: function (feedId) {
            const vm = this;
            axios.get('/feeds/'+this.id+'/'+feedId).then(response =>{
                vm.feedData.unshift(response.data);
                console.log(response.data);
            });
        }
    },
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我成功获取我刚刚创建的新提要并尝试使用 unshift 将其添加到提要数组中时,由于某种原因,数组的第一篇文章被复制,直到我才看到新帖子刷新页面。当我检查控制台日志时,我可以看到我得到了新的提要。有趣的是,当我使用

vm.feedData.push(response.data);
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但帖子在最底部,这不是我想要的!

我有图片要显示:

第一个帖子:

第一个帖子的图片

第二个帖子:

第二个帖子的图片

duplicates laravel vue.js axios vuejs2

5
推荐指数
1
解决办法
2328
查看次数

标签 统计

axios ×2

vuejs2 ×2

ajax ×1

duplicates ×1

http-status ×1

laravel ×1

laravel-5 ×1

vue.js ×1