简单看一下代码实现:
F12看一下,起作用的就是下面这段代码:
<pre name="code" class="html"><div class="panel mfp-hide" id="panel-weixin">
<h3>打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮</h3>
<section class="weixin-section">
<p><img alt="161946" src="http://s.jiathis.com/qrcode.php?url=http://36kr.com/p/161946.html?via=wechat_qr"></p>
</section>
</div>
登录后复制
通过JiaThis网站的一张微信图片,后面加上你要分享的参数信息,好了,一个分享完成了。当然,这个源码找的不是很别致,很多js的代码需要自己写。但这也相对的更灵活了,因为大家现在在程序里需要引入的其实就是JiaThis提供的那张图片地址了。
上篇讲了 nodejs做http请求转发,解决js跨域问题(二)现在遇到一个问题,公司的服务器防火墙针对User-Agent做了拦截。需要特定的User-Agent才能访问到API接口
如果用上篇的方法js的ajax请求目前在很多浏览器中是无法修改User-Agent,这样的话导致api请求可能无法成功。
我们可以在nodejs这一层加入请求修改User-Agent,不仅仅可以在nodejs这一层代理修改User-Agent,还可以修改request和response
例如
下面就修改了request的headers 添加了mytest=0000000000000和User-Agent= mytest
也修改了request里面的body给body添加了 Type : 'jpg' 以及修改了 FileName : '2.jpg'
一定要注意如果修改了 request 的 body 值一定要重新设置 Content-Length
response原本是返回一个json {"ID":"1234567890","Name":"张三"} ,也把这个json改了,改成 {"ID":"1234567890","Age":2}
上一个章节中,讲解了next下如何通过axios获取远程数据,可是遇到了跨域的问题,所以单独写个文章讲解一下,如何在开发模式dev下面,解决跨域,没有使用跨域代理之前
下面开始讲解如何跨域
首先,打开我们的koa项目,启动,用koa来作为后台接口模拟数据
好,正式开始配置~~~~~~~~~~~~~~~~~~~~~~~~~~
打开Next项目
1:安装跨域的依赖中间包 http-proxy-middleware
2:根目录下面新建server.js
//server.js
ps:target一定要修改为 http://localhost:3333/api/ ,而不是' http://localhost:3333 ,否则就会404,我这里就搞错了
3:修改package.json
//package.json
4:使用
//pageA.js
可以看到前面的前缀就不需要啦,直接加地址就好了
效果图
OK,成功跨域