发布请求有效,但重定向到错误页面

时间:2018-09-30 15:40:09

标签: javascript json post vue.js axios

执行POST请求时出现奇怪的问题。我在同一页面上使用post方法有3种不同的形式,第一种完美地工作。

另外两个似乎有问题:当我点击保存按钮时,它会在错误页面上重定向为Cannot POST /http://localhost:4000/cards。该页面的网址是http://localhost:8080/http://localhost:4000/cards,这是我的本地服务器网址+ json服务器网址。

刷新页面时,该请求已生效,因为添加了新卡。

这是我的简化代码:

<form action="/http://localhost:4000/teamsettings" method="POST">
  <input name="title" class="input-source" v-model="teamsetting.name" type="text">
  <input name="description" class="input-source" v-model="teamsetting.description" type="text">

 <div type="submit" @click="submitTeamG(teamsetting)">Save</div>
</form>



<form action="/http://localhost:4000/cards" method="POST">
  <input v-model="title">
  <textarea class="input-resume" v-model="description"></textarea>

  <button type="submit" @click="subCard">Save</button>
</form>



<form action="/http://localhost:4000/cards" method="POST">
  <input v-model="card.title">
  <textarea class="input-resume" v-model="card.description"></textarea>

  <button type="submit" @click="modifyCard">Modify</button>
</form>

这是我的axios帖子请求:

methods: {
        submitTeamG(teamsetting) {
            axios.put('http://localhost:4000/teamsettings', {
                name: teamsetting.name,
                description: teamsetting.description
            })
                .then(function (response) {
                    console.log(response.data);
                })
                .catch(function (error) {
                    console.log(error);
                });
            window.location="/backoffice";
        },

        subCard() {
            axios.post('http://localhost:4000/cards', {
                title: this.title,
                description: this.description,
            })
                .then(function (response) {
                    console.log(response.data);
                })
                .catch(function (error) {
                    console.log(error);
                });
            window.location="/backoffice";
        },

        modifyCard(card) {
            axios.put('http://localhost:4000/cards', {
                title: card.title,
                description: card.description,
            })
                .then(function (response) {
                    console.log(response.data);
                })
                .catch(function (error) {
                    console.log(error);
                });
            window.location.reload();
        }
    },

在重定向到错误页面之前,我可以在控制台中看到404错误,但是新数据已添加到数据库json文件中。这是什么问题?

谢谢您的时间:)

1 个答案:

答案 0 :(得分:0)

window.location="/backoffice";的使用window.open("/backoffice","_self");