vuejs2-3獲取api數據


1 build/dev-server.js (模擬后台對地址的處理)

//模擬后台對前台地址請求的處理
var appData = require('../data.json') // 獲取data.json對象
var seller = appData.seller // 獲取這個對象[seller]的內容
var goods = appData.goods // 獲取這個對象[goods]的內容
var ratings = appData.ratings // 獲取這個對象 [ratings]的內容

var apiRoutes = express.Router();

// 對前台/seller的處理
apiRoutes.get('/seller', function (req, res) {
  res.json({
    errno: 0,
    data: seller
  });
});

// 對前台/goods的處理
apiRoutes.get('/goods', function (req, res) {
  res.json({
    errno: 0,
    data: goods
  })
});
// 對前台/ratings的處理
apiRoutes.get('/ratings', function (req, res) {
  res.json({
    errno: 0,
    data: ratings
  });
});

app.use('/api', apiRoutes);

2 src/App.vue獲取數據

<script>
  import header from 'components/header/header.vue'; // 引入header組件
  import {urlParse} from 'common/js/urlParse';
                              // 引入urlParse.js文件 window.loacation.search操作
  const ERR_OK = 0;

  export default {
    data() {
      return {
        seller: {
          id: (() => {
            let queryParam = urlParse(); // 獲取地址中的查詢字符串
            return queryParam.id;
          })()
        }
      };
    },
    created() {
      let url = '/api/seller?id=' + this.seller.id;
      this.$http.get(url).then((response) => {
        response = response.body;
        if (response.errno === ERR_OK) {
          console.log(response);
          this.seller = Object.assign({}, this.seller, response.data); // 擴展seller對象
        }
      });
    },
    components: { // 注冊header組件
      'v-header': header
    }
  };
</script>

data.json數據

3 檢測是否獲取到數據(前台通過請求/api/seller已經獲取到數據,后台並添加了errno:0表示數據可用) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM