博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用koa处理前端发送的http请求
阅读量:6803 次
发布时间:2019-06-26

本文共 1547 字,大约阅读时间需要 5 分钟。

后端代码

  • 这里使用koa-body获取post请求的数据
  • koa-body可以处理三种类型的请求
    • multipart/form-data
    • application/x-www-urlencoded
    • application/json
const Koa = require('koa')const app = new Koa()const koaBody = require('koa-body')app.use(koaBody())app.use(ctx => {  ctx.set('Access-Control-Allow-Origin', `*`)  console.log('type', ctx.request.type)  console.log(ctx.request.body)  ctx.body = `Request Body: ${
JSON.stringify(ctx.request.body)}`})app.listen(3000)复制代码
  • 这样写在前端浏览器中请求会报错,需要再加上
ctx.set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");复制代码

前端代码

/* jquery默认的content-type是application/x-www-form-urlencoded,当content-type是application/json时需要把参数转换为json字符串*/$.ajax({ type:'post', url:'http://localhost:3000', contentType: "application/json",data:JSON.stringify({ a:123}), success:res=>{   console.log(res); }, error:err=>{   console.log(err) }})/* axios默认的content-type是application/json,当content-type是x-www-form-urlencoded时需要把参数转换为字符串传递如`a=1&b=2`*/axios.post('http://localhost:3000', {   firstName: 'Fred',   lastName: 'Flintstone' }) .then(function (response) {   console.log(response) }) .catch(function (error) {   console.log(error) }) /*fetch  默认的content-type是 text/plain, 当content-type是x-www-form-urlencoded时需要把参数转换为字符串传递如`a=1&b=2`, 当content-type是application/json时需要把参数转换为json字符串 */fetch('http://localhost:3000', { method: 'POST', headers: {   'Content-Type': 'application/json' }, body: JSON.stringify({   name: 'Hubot',   login: 'hubot', })}).then(res=>{ console.log(res);})复制代码

转载于:https://juejin.im/post/5b1a1b0ce51d4506825f1760

你可能感兴趣的文章
Python for 循环语句
查看>>
N12-数值的整次方
查看>>
mysql5.5复制环境中的一个bug
查看>>
CentOS6.5安装Tab增强版:bash-completion
查看>>
Eclipse可视化操作数据库
查看>>
Linux下/etc/fstab永久挂载
查看>>
网页正文提取技术文库
查看>>
隐藏字体文件信息加快启动速度
查看>>
Xcode下载失败 使用已购项目页面再试一次
查看>>
谈谈Dreamweaver连接SQL数据库中的字符串连接
查看>>
02 企业网络综合性项目设计
查看>>
Struts2中TreadLocal设计模式详解
查看>>
轻松掌握find命令
查看>>
IO异常处理方式
查看>>
Date的用法
查看>>
Juniper SRX 初级配置教程
查看>>
java代码获取pdf文件第一页作为封面缩略图
查看>>
gluLookAt()
查看>>
MySQL 和Swap Memory
查看>>
python读取大文件
查看>>