Node.js跨域请求解决方案

Node.js跨域请求解决方案

一、缘由:

       初到公司,老大让去解决之前项目客户提出的一个小问题,对某一模块进行访问验证,之前的项目是PHP做的,对此不了解,因此不打算先学习PHP再去解决问题,考虑到客户提出的问题很小,所以采用node.js来做,不得不说node做后台还是很方便了,省去了很多麻烦事(搭建服务器),原以为会很快解决客户提出的这个问题,谁料事情的发展并不是一帆风顺的,遇见的最主要的问题是使用node会监听一个和当前正在运行的项目不同的端口,因此也就涉及到了跨域访问的问题,查阅资料后得到解决,记录之。(PS:跨域定义及解决原理自行上网搜索)

二、解决方案:

   2.1,采用JSONP的方式,代码如下:



     需要注意的是后台的返回结果:params.callback+需要的json数据,其中callback为你前台发送的回调函数名称

2.2,在node后台进行访问控制,方案有二:

    2.2.1 使用express模块,加了个跨域控制:


 2.2.2 使用 cors ,git地址:https://github.com/expressjs/cors , 前台和2.2.1一致:


三、总结:

  3.1,需要加深对相关协议的了解,在做的过程中就忘记了加http://前缀,而是直接用的IP+PORT,导致访问失败。

  3.2,如果有机会自己写个简单的WEB服务器,加深对这方面的了解。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值