【问题标题】:Can I use axios in this example?我可以在这个例子中使用 axios 吗?
【发布时间】:2019-06-13 18:36:56
【问题描述】:

我还是网络开发的新手,所以如果答案很明显或者我提供的信息不多,我真的很抱歉,但我希望这已经足够了:

我可以在这个 vue.js 组件中发出 axios.post 请求吗?

<script>

module.exports = {
  mounted() {
  
  // game code
  
  };

</script>

让我解释一下我现在遇到的问题:我无法通过import axios from "axios"; 导入 axios。我也不能使用export default { ... }。两者都导致页面无法加载(给我一个 TypeError: "exports" is read-only)。但是,我需要访问游戏代码中的一个变量,因为我想将 axios.post 那个变量(游戏分数加上一些更多的 json 信息)发送到我的 MongoDB 数据库。

如果我无法从那里发出请求,我能否从mounted() { // game code }; 中的代码中获取一个变量并将其传递给另一个组件(并从那里发布)?我在互联网上搜索了好几个小时,但似乎没有什么对我有用,所以再次抱歉,如果我似乎懒得搜索答案。

【问题讨论】:

  • 你在使用vue-cli吗?

标签: javascript vue.js axios


【解决方案1】:

我设法在代码的 module.exports 部分中使用了 axios。 通常我会使用import axios from 'axios'; 并使用 axios 作为其中的方法

export default {
    ...
    methods: {
        // here (axios method)
        ...

但是

module.exports = { mounted() {
     // game code
     };

如果我使用 export default 代码部分,部分不起作用。我几乎可以肯定有一种更优雅的方法可以解决整个问题,但是由于我是新手,仍然不完全了解 Vue 和 axios 的工作原理,所以我只是尝试了一些可能性,将 axios 包含在其中,并且其中一个起作用了:

module.exports = { mounted() {
     const axios = require("axios");
     // game code
     // and later, for example: axios.post(...)...
     };

起初我认为它不起作用,因为我的 IDE 无法识别 axios 方法,但它实际上将数据发布到我的数据库,所以它确实起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    相关资源
    最近更新 更多