在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 關(guān)于vuecli與express構(gòu)建的項目中的數(shù)據(jù)交互問題

關(guān)于vuecli與express構(gòu)建的項目中的數(shù)據(jù)交互問題

剛學(xué)完express和vue,想寫個vue+express的項目,但是有些地方想不太通,想請問一下:
vue如何將數(shù)據(jù)傳輸給express并且不跳轉(zhuǎn)頁面得到返回數(shù)據(jù)?網(wǎng)上查到別人的項目是:

  • 先用axios來get/post:
axios.post('/api/nameCheck', {
            name: this.name
          })
          .then(...)
  • 再在vue中設(shè)置代理:
proxyTable: {
        '/api': {
            target: 'http://localhost:3000/',
            changeOrigin: true,
            
        }
    },
  • 然后在server文件夾下的app.js中:
var router1=require('./api/user');
...
app.use('/api', router1);
  • 最后在api/user.js中處理并返回數(shù)據(jù)
const express = require('express')
const router = express.Router()

router.get('/users', (req, res, next) => {
  ...
    res.send(users)
})

請問vue和express是這樣傳遞數(shù)據(jù)的嗎?可是我這樣傳遞數(shù)據(jù)端口號并沒有變:

POST http://localhost:8089/api/nameCheck 404 (Not Found)

請問是哪里出了問題呢?該怎么改?謝謝。

回答
編輯回答
瘋浪

你先服務(wù)端渲染的話 去看看vue-ssr

2017年8月16日 06:58
編輯回答
離魂曲
router.get('/users', (req, res, next) => {
  ...
    res.send(users)
})

你的后端api的url錯了,譬如你的實際地址為:

localhost:3000/nameCheck 

那么代理到的ttp://localhost:8089/api/nameCheck,怎么可能拿到數(shù)據(jù)呢?因為你后臺并沒這個地址
解決辦法
1.

proxyTable: {
        '/': {
            target: 'http://localhost:3000/',
            changeOrigin: true,
            
        }
    },

2.修改服務(wù)端路由

router.get('/api/users', (req, res, next) => {
  ...
    res.send(users)
})

并修改代理

 '/api': {
            target: 'http://localhost:3000/api',
            changeOrigin: true,
            
        }
2017年2月19日 22:35