我们知道,在使用cocos creator做web项目的时候,经常要用到外部图片,举个例子:微信头像。当web项目在浏览器中运行的时候,用普通的http请求微信头像的方法会提示跨域,无法获取到图片。
解决跨域的方法也看了很多,全都是需要服务器配合才能完成的操作,我们无法操作微信的服务器,所以只能想其他办法解决。
1:搭建一个可以转发http的服务器
要注意:这个服务器要可以被跨域访问,设置一下header就行,如何设置,自行探索。
过程:
1、客户端请求该转发服务器,并把要获取的资源链接当参数传过去;
2、转发服务器收到请求之后解析一下参数, 把资源链接提取出来,直接请求资源链接;
3、资源链接返回的数据给转发服务器;
4、转发服务器把收到的资源数据原封不动返回给客户端。
逻辑过程已经很明白了,具体的实现过程有很多方法,这里就不举例了。
客户端js代码
//这是http转发请求封装的方法
httpRequest = function (params) {
cc.log('发送请求',params.url);
var urlStr = 'http://192.168.31.22/httpGet?url=' + params.url;
var methodStr = params.method || 'GET';
var async = false;
if (!!params