前端Axios 与 后端 nodejs 跨域请求交互

三世轮回 提交于 2020-02-08 05:05:36

前端Axios 与 后端 nodejs 跨域请求交互

前端部分

// 将需要传的参数,添加到Formdata中
const params = new FormData()
params.append('user', 'root')
params.append('password' '1234')

// httpMethod 包括 GET POST PUT DELETE 等常见 http 方法
axios.httpMethod(url,  {
	params,
	// 请求时携带 (服务端cookie),
	// 客户端无法通过 js 获取或设置
	withCridential: true
})

后端部分

const express = require('express')
const app = express()

app.all(*, (req, res, next) => {
	// 允许跨域的白名单, 跨域时会报错 ,* 代表任意域
	res.header('Access-Control-Allow-Origin', '*')
	// 允许携带Cookie, 不设置的时候, 跨域时会报错
	res.header('Access-Control-Allow-Credentials', 'true')
	// 允许跨域的方法
	res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS') 
	// 设置允许跨域的请求头
	// res.header("Access-Control-Allow-Headers", "X-Requested-With")
	// 设置响应编码
	res.header("Content-Type", "application/json;charset=utf-8")
	next() // 继续下一个中间件
})

app.get('/', (req, res) => {
	res.json({
		"code": 200,
		"message": "success",
		"data": { ... }
	})
})
app.listen(9413, () => {
	console.log('your app is running at http://127.0.0.1:3000')
})
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!