7.【nuxt起步】-Nuxt与后端数据交互

接下来就是对接服务端接口,展示真实的数据

1.做了个虚拟接口地址:http://test.yms.cn/testjson.asp

输出数据:

复制代码

{

  "title": "单间出租",

  "price": "350.0元/月",

  "type": "1室1厅1卫",

  "square": "2",

  "keyWord": [{"word": "床"}, {"word": "可做饭"}, {"word": "独立卫生间"}],

  "danjia": "17",

  "xiaoqu": "王店镇宝华村",

  "floor": "低层/1层",

  "fwtype": "普通住宅",

  "toward": "不限朝向",

  "decor": "普通装修",

  "deposit": "押1付1",

  "linkman": "王先生",

  "area": "秀洲区商业区",

  "fid": "70823",

  "address": "王店镇宝华村",

  "desc": "交通便利可以仃车院子大",

  "headimg": "https://www.vyuan8.com/vyuan/source/plugin/vyuan_fangchan/static/images/avatar.png",

  "faburen": "王先生"

}

复制代码

 

2.Nuxt 请求接口 需要用到axios  ,可以先搜索引擎练习下axios

 

cnpm install @nuxtjs/axios --save

3.plugins目录新建axios.js

编码:

复制代码

import * as axios from 'axios'

let options ={}

//需要全路径才能工作

if(process.server){

  options.baseURL=`http://${process.env.HOST || 'localhost'}:${process.env.PORT || 3000}/api`

}

export default axios.create(options)

复制代码

4.Nuxt.config.js增加axios配置

 

modules:[

  '@nuxtjs/axios'

],

 

 

5.先来个测试:

 

输出:

 

Network没有结果,但consloe有输出了

 

因为axios是异步的,稍微改造下

 

复制代码

async asyncData({

  app

}){

  let res =await axios({

  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },

  method: 'get',

  url: `http://test.yms.cn/testjson.asp`,

  data: ''

  })

  console.log(res)

},

 

复制代码

 

 

 这时候console打印出结果了,但是 chrome中的network没有找到请求了,这是什么原因呢,其实这就是nuxt的特点,如果它出现在network,其实就是ajax异步请求了,那么seo不支持ajax,其实nuxt就是异步把网络请求了然后再render出来,性能上肯定有稍微的消耗,但基本差别不大,小的应用可以忽略,改造下:

 

复制代码

async asyncData({

  app

}){

  let res =await axios({

  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },

  method: 'get',

  url: `http://test.yms.cn/testjson.asp`,

  data: ''

  })

  console.log(res.data.title)

  return{

  testData:res.data.title

  }

},

复制代码

 

 

刷新:

 

输出正确

回答: 根据引用\[1\],你的请求到https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json失败了,原因是读取时发生了ECONNRESET错误。这可能是由于网络连接问题或服务器问题导致的。你可以尝试重新发送请求或检查你的网络连接。 根据引用\[2\],当你执行npm install -g create-nuxt-app时,你想要创建buxt文件,但是遇到了一个错误。错误信息显示create-nuxt-app.ps1文件无法加载,因为在你的系统上禁用了运行脚本。你可以参考提供的链接了解有关执行策略的更多信息。这个问题可能是由于你的系统设置或权限问题导致的。你可以尝试更改执行策略或以管理员身份运行命令来解决这个问题。 关于你提到的Error: \[BABEL\] F:\web\vue\vue-nuxt\.nuxt\client.js: --- PLACEHOLDER PACKAGE ---,这个错误信息并没有提供足够的上下文来确定具体的问题。请提供更多的错误信息或上下文,以便我能够更好地帮助你解决这个问题。 #### 引用[.reference_title] - *1* *2* [nuxt.js搭建踩坑及各种报错问题解决方案](https://blog.csdn.net/qq_43429963/article/details/127495392)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值