如何从具有3个参数的URL中获取数据?

时间:2019-09-01 21:47:42

标签: javascript vue.js

我想从圣经api中获取数据。

示例:

https://kingjames.herokuapp.com/api/bible/Genesis/1/ https://kingjames.herokuapp.com/api/bible/Revelation/1/14

我可以使用params id更改章节。但是这本书行不通。我是否还需要其他东西,然后再用这本书的params.id,因为它是文本而不是数字?

<template>
  <div class="container">
    <div v-for="verse in verses" :key="verse.id">
      <p>{{ verse.Book + ' ' + verse.Chapter +':' + verse.Verse + ' ' + verse.Text }}</p>
    </div>
  </div>
</template>

<script>
import axios from "axios";

export default {
  asyncData({ params, error }) {
    return axios
      .get(
        `https://kingjames.herokuapp.com/api/bible/${params.id}/${params.id}/${params.id}`
      )
      .then(res => {
        console.log(res.data);
        return { verses: res.data };
      });
  }
};
</script>

1 个答案:

答案 0 :(得分:0)

您需要传入3个不同的变量。 您当前仅传递了params.id三次,因此,如果params.id = 1,则最终的URL为

numpy

,它将至少返回404。 要正确使用它,您需要提供3个参数,其中2个为数字,一个为文本。

因此参数应该类似于:

{       第1章,       经文:1       书:“卢克”    }

,然后访问它们以创建URL。

scikit-image