nuxtJs跨域


nuxtJs跨域


创建nuxt-test

命令:npx create-nuxt-app nuxt-test

启动项目

进入项目: cd nuxt-test

启动项目: npm run dev

浏览器预览项目

nuxtJs跨域

布局代码

<el-form>

:model="ruleForm"

status-icon

ref="ruleForm"

label-width="100px"

class="demo-ruleForm"

>

<el-form-item>

<el-input>

<el-form-item>

<el-input>

<el-form-item>

<el-select>

<el-option>

<el-option>

<el-option>

<el-form-item>

<el-button>提交/<el-button>

/<el-form>

布局效果

nuxtJs跨域

创建nuxt-server服务器

创建命令: express -e nuxt-server

修改服务器端口号

//在app.js文件中暴露对象之前

app.listen(9527, () => {

console.log(`服务器已启动...`);

})

修改启动项

//在package.json中修改start命令

"scripts": {

"start": "nodemon app"

},

启动项目

启动项目: npm start

安装mysql

安装命令: npm i mysql

链接mysql

//conn.js中

var mysql = require('mysql');

var connection = mysql.createConnection({

host : 'localhost',

user : 'root',

password : 'root',

database : 'nuxt'

});

connection.connect();

module.exports.conn = connection

路由文件引入conn并使用

const conn = require('./db/conn')

conn.query(sql, (err, data) => {

if (err) throw err;

if (data.affectedRows > 0) {

//注册成功

res.send({

code: 0,

msg: '注册成功'

})

} else {

//注册失败

res.send({

code: 1,

msg: '注册失败'

})

})

在页面中输入数据并发送axios请求

methods: {

submitForm(){

this.$axios.post('http://127.0.0.1/users/addaccount', {

params: this.ruleForm

})

发送后出现了跨域问题

安装@nuxt/proxy模块

安装命令: npm i @nuxt/proxy --save

在nuxt.config.js配置proxy

/*

** Nuxt.js modules

*/

modules: [

// Doc: https://axios.nuxtjs.org/usage

'@nuxtjs/axios',

'@nuxtjs/proxy' //添加proxy模块

],

/*

** Axios module configuration

*/

axios: {

proxy: true // 开启proxy

},

proxy: [ //proxy配置

['/api', {

target: 'http://127.0.0.1:9527', //api请求路径

pathRewrite: { '^/api': '/' } //重定向请求路径,防止路由、api路径的冲突

}]

],


分享到:


相關文章: