无法使用api-vue js从axios获取数据

问题描述 投票:0回答:1

我在通过vue js获取数据时遇到问题,它返回的是HTML而不是json。我认为路线参数显示了帖子的ID。这是我在vue中的代码:

axios.get("api/posts/" + this.$route.params.id).then(response => {
  console.log(this.$route.params.id);
  console.log(response.data);
});

这是响应数据:

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">

        <link rel="stylesheet" href="http://127.0.0.1:8000/css/app.css">
        <script src="http://127.0.0.1:8000/js/app.js" defer></script>
    </head>
    <body>
        <div id="app">
            <index></index>
        </div>
    </body>
</html>

但是在邮递员中,我访问的网址为“ api / posts / 1”,它显示的是json数据{“ id”:1,“ title”:“ Schambergerstad Fancy Rooms”,“ description”:“ Qui minima tempora ea modi maiores。Quaerat non a porro vel occaecati。Deleniti quaerat quod veniam。Dolor ducimus facilis molestiae omnis fuga occaecati。”,“ created_at”:“ 2020-06-04T11:28:25.000000Z”,“ updated_at”:“ 2020-06-04T11:28:25.000000Z” }

但是我在网络标签中看到,请求的网址是“ http://127.0.0.1:8000/posts/api/posts/1”。为什么要转到该网址?我在axios中将其称为“ api / posts / 1”如何解决?

javascript laravel api vue.js axios
1个回答
0
投票

尝试添加标题Content-Type json

axios.get("api/posts/" + this.$route.params.id, {
    headers: {
        'Content-Type': 'application/json'
    }
}).then(response => {
  console.log(this.$route.params.id);
  console.log(response.data);
});
© www.soinside.com 2019 - 2024. All rights reserved.