node.js,axios实践

跨域问题可以参考阮一峰的博客,讲的很详细。
跨域资源共享 CORS 详解

这里记录一下,node.js服务端和axios/ajax请求的实践代码。
node.js

//以express为例
//设置跨域访问
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Content-Type");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");;
    next();
});

axios
get: 常规操作
post: 需要将post data转化成文本,否则content-type: application/json,跨域成非简单请求,进入预检请求。会增加一次HTTP查询请求。axios的一个bug. axios issues362

//get
axios.get('http://127.0.0.1:8081/getJson')
  .then(res=>{
    console.log(res);
  })
  .catch(err=>{
    console.log(err);
  })
//post
//user JSON.stringify or other libs like qs.stringify
let data=JSON.stringify({
  data:'axios',
  info:{
     type:'post',
  }
})
axios.post('http://127.0.0.1:8081/postJson',data)
    .then(res=>{
      console.log(res);
    })
    .catch(err=>{
      console.log(err);
    })

ajax
正常操作即可

//get
$.get('http://127.0.0.1:8081/getJson',(data,status)=>{
   console.log(status);
   console.log(data);
 })

//post
//跨域请求post
  $.post('http://127.0.0.1:8081/postJson',{
    data:'ajax',
    info:{
      data:'post',
    }
  },(data,status)=>{
    console.log(status);
    console.log(data);
  })
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目1.什么是同源策略? 同源策略(Same origin Policy): 浏览器出于安全方面的考虑,只允许与本...
    FLYSASA阅读 1,782评论 0 6
  • http协议 Resource,URL,Request,Response,Headers http 请求的是资源R...
    Sharise_Mo佩珊阅读 709评论 0 4
  • 我们的青春有伤感,有优美,,,,
    浅夏大人阅读 157评论 0 0
  • 最近在校内军训,刚刚开始。其实在还没有开始的时候,我就在想,要不要找什么借口逃开呢?但是导生说,这是要给你学分的,...
    有件事无法释怀阅读 642评论 0 0
  • 《三千年后》-李香琴&关淑怡 这首歌真的太厉害了,里面的念白可以让人肝肠寸断。 短短的唱曲,用气息发声,吊着人的心...
    杨花萝卜阅读 603评论 0 0