开发者问题收集

Axios get请求无法将undefined转换为对象

2021-12-15
770

我正在尝试在我的 js/svelte 应用程序中发出获取请求。 REST-API 在浏览器中或使用 postman 测试时运行良好。

当我单击网站上的“Go”按钮时,检查工具的控制台中会出现以下错误。

Uncaught TypeError: can't convert undefined to object

mergeConfig mergeConfig.js:92 request Axios.js:39 method Axios.js:129 wrap bind.js:9 login Login.svelte:11 listen index.mjs:412 listen_dev index.mjs:1961 mount bundle.js:3413 mount_component index.mjs:1745 update bundle.js:765 update bundle.js:931 update index.mjs:1075 flush index.mjs:1042 promise callback*schedule_update index.mjs:1000 make_dirty index.mjs:1777 ctx index.mjs:1815 unsubscribeLoc bundle.js:1442 subscribe index.mjs:50 instance$3 Router.svelte:493 init index.mjs:1809 Router bundle.js:1583 create_fragment bundle.js:3583 init index.mjs:1824 App bundle.js:3655 app main.js:3 bundle.js:3675

这是代码。

<script>
    import {replace} from 'svelte-spa-router'
    import {LoginDto} from "../scripts/data_transfer_objects/LoginDto";
    import axios from "axios";

    let loginTemplate = new LoginDto();

    function login(){
        console.log(loginTemplate.password);
        axios.get("http://localhost:5000/login", {
            auth: {
                username: "test",
                password: "1234"
            }
        });
        replace("#/activities");
    }
</script>

<div>
    <input type="password" placeholder="Password" bind:value={loginTemplate.password}>
    <button on:click={login}>Go</button>
</div>

有人知道问题是什么吗?

提前致谢!

编辑

我用一个更简单的例子尝试了它。

<script>
    import axios from "axios";

    axios.get("localhost:5000/activities");
</script>

这也不起作用。 我产生了与上面描述的相同的错误。

2个回答

问题可能来自对 @rollup/plugin-commonjs 的过时依赖。从 17.0.0 升级到 21.0.1 为我解决了这个问题。

Arthur Noseda
2022-02-07

尝试记录服务器返回的内容。您可能知道发生了什么。

axios.get("http://localhost:5000/login", {
  auth: {
           username: "test",
           password: "1234"
        }
}).then(response => console.log(response));
Phuc H. Nguyen
2021-12-15