天天看點

Node.js擷取并傳回資料給Nuxt.jsNode.js擷取并傳回資料給Nuxt.js

Node.js擷取并傳回資料給Nuxt.js

Nuxt.js

<template>
  <h1>{{ title }}</h1>
</template>

<script>
import axios from 'axios'
let tp = {
  1: 'test',
  2: 'lalala'
};
export default {
  asyncData ({ params }) {
    return axios.get(`http://127.0.0.1:8888/`, { params: tp }).then(res => {
      return { title: res.data.title }
    })
  }
}
</script>
           

另一種寫法

async asyncData ({ params }) {
    const { data } = await axios.get(`http://127.0.0.1:8888/`, { params: tp })
    return { title: data.title }
  }
           

Node.js

let http = require('http');
let url = require('url');
let fs = require('fs');
let querystring = require('querystring');

let TestTitle = {
  title: "asyncData Test OK!"
};

function onRequest(request, response) {
  let urlStr = url.parse(request.url);
  let param = querystring.parse(urlStr.query);
  console.log("請求成功!");
  response.writeHead(200, {
    "Content-Type": 'text/plain',
    'charset': 'utf-8',
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS'
  });
  console.log(param);
  response.write(JSON.stringify(TestTitle));
  response.end();
}
http.createServer(onRequest).listen(8888);
           

效果

Node.js擷取并傳回資料給Nuxt.jsNode.js擷取并傳回資料給Nuxt.js
Node.js擷取并傳回資料給Nuxt.jsNode.js擷取并傳回資料給Nuxt.js