【问题标题】:Does anyone know how to use delete method in API using by Typescript?有谁知道如何通过 Typescript 在 API 中使用 delete 方法?
【发布时间】:2020-08-05 23:23:30
【问题描述】:

我想确认如何在“nuxt.js”中使用“axios”。 我使用了样本数据, 我真的很想知道如何使用 typescript 在 'nuxt.js' 中使用 'axios' 方法。

Post 方法是成功的,所以我认为 delete 方法与 Post 方法的代码相同。 但是删除方法不起作用。 我不知道我该如何解决这个问题。 有人知道吗?代码如下。

<template>
  <div>
    <v-row>
      <v-col cols="3">
        <v-text-field v-model="name"></v-text-field>
      </v-col>
      <v-col cols="3">
        <v-btn @click="createNewUser">CreateNewUser</v-btn>
      </v-col>
    </v-row>
    <v-row>
      <v-col>
        <ul>
          <li v-for="user in users" :key="user.id">
            {{user.name}}
            <v-btn @click="deleteUser(user.id)">DeleteUser</v-btn>
          </li>
        </ul>
      </v-col>
    </v-row>
  </div>
</template>
<script lang="ts">
import { Component, Vue } from "nuxt-property-decorator";
import axios from "axios";

@Component({})
export default class extends Vue {
  users: object[] = [];
  name: string = "";
  
  async mounted() {
    axios.get("https://jsonplaceholder.typicode.com/users",{params:{name:'Glenna Reichert'}})
        .then(response=>this.users = response.data)
        .catch(response=>console.log(response));
    axios
  }

  createNewUser() {
    axios
      .post("https://jsonplaceholder.typicode.com/users", { name: this.name })
      .then((response) => this.users.unshift(response.data))
      .catch((response) => console.log(response));
  }
    
  deleteUser(id: any) {
    axios
      .delete("https://jsonplaceholder.typicode.com/users"+id)
      .then((response) => console.log(response))
      .catch((response) => console.log(response));
  }
}
</script>

【问题讨论】:

  • axios.delete 的 URL 在 users 和 ID 之间缺少斜杠,导致出现 404 Not Found 错误。
  • 感谢您的建议。我没有注意到我的失踪。非常感谢!

标签: typescript vue.js nuxt.js


【解决方案1】:

URL 中缺少斜杠,最好使用模板文字来减少错误。

async deleteUser(id:any){
   await axios.delete(`https://jsonplaceholder.typicode.com/users/${id}`)
         .then((response) => console.log(response.status))
         .catch((response) => console.log(response.status));
}

【讨论】:

  • 我绝对必须使用模板文字来解决我的问题。谢谢你的建议!这对我真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 2016-09-21
  • 2014-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-20
相关资源
最近更新 更多