或许有些人会比较喜欢在mounted里去请求数据 但在Nuxt项目中是绝对不能这样操作的 因为 mounted的特性也说的比较明白了 当页面挂载完之后执行 但显然 seo只读你页面挂载的内容 如果你在这请求 那么对不起 你请求回来的数据渲染到界面上seo爬虫是看不到的
Nuxt项目请求数据 可以在组件的 asyncData 生命周期中执行
这里 我们先引入axios
如果你的项目直接选了要 axios 那么就不需要引入了
否则 就像我一样 在项目终端执行
npm i axios@0.21.0
这里一定要注意 axios版本不能太高
我这里 启动一下自己java的项目 如果小伙伴没有他接口条件 可以直接访问 https://api.erp.yitiaoma.com/api/admin/Auth/GetPassWordEncryptKey
get请求 不需要参数
然后 我这里直接实验 访问自己的接口
可以看到 放回成功的
我们打开 pages 下的 index.vue 编写代码如下
<template>
<div>
<ul>
<li
>年后</li>
</ul>
</div>
</template>
<script>
import axios from "axios";
export default {
name: 'IndexPage',
data() {
return {
datalist: []
}
},
asyncData(){
return axios({
url:"http://localhost:8080/pro-api/user/",
headers:{
}
}).then(res=>{
console.log(res.data);
return {
datalist: res.data
}
})
}
}
</script>
运行项目 然后访问项目
我们请求的数据就被展示在这啦 但一定要注意是 res.data
res这一层 还有其他东西
然后我们这里这个datalist的意思将他复制给 data中的 datalist对象 然后我们来循环遍历这些元素
index.vue 界面模板更改如下
<template>
<div>
<ul>
<li
v-for = "(itme,indx) in datalist.data"
:key = "indx"
>{{ itme.name }}</li>
</ul>
</div>
</template>
运行项目 这样 我们的数据就上去了文章来源:https://www.toymoban.com/news/detail-404470.html
然后 我们右键查看源码
可以看到 我这些东西也是直接连载源码上了 爬虫也能爬到
文章来源地址https://www.toymoban.com/news/detail-404470.html
到了这里,关于Nuxt项目asyncData服务端请求数据渲染的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!