最近的文章列表

跨域CORS 带Cookie传递,在nodejs + express中的具体实现

CORS(跨来源资源共享协议),高级浏览器(Chrome,firefox, opera, safir, ie10)在 XMLHttpRequest(AJAX) 中已经支持了这个协议。可以实现ajax跨域访问。(其实IE8也实现了,只不过是另外一个对象)

由于是跨来源的的访问,标识HTTP状态的Cookie的使用有一些特别处理。

Server Nodejs 代码

res.setHeader('Access-Control-Allow-Origin', req.headers.origin);//注意这里不能使用 * 
res.setHeader('Access-Control-Allow-Credentials', true);//告诉客户端可以在HTTP请求中带上Cookie
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
2015/5/5 Comments:
Nginx与NodeJS实现简单的代理跨域(proxy_pass)

在用nodejs时,有个地方需要用到跨域,使用

   app.use(function(req, res, next){
         res.header('Access-Control-Allow-Origin', '*');
         res.header('Access-Control-Allow-Headers','X-Request-With');
         next();
   });
2014/11/3 Comments:
解决swfupload组件跨域上传提示缺少crossdomain.xml的问题方法

默认情况下,swfupload是不支持跨域上传文件的,如果需要跨域上传,需要在上传服务器的根目录下放置一个 crossdomain.xml 的文件,文件内容设置为相应的权限即可。如:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
2014/9/18 Comments:
JavaScript两种跨域技术详解(不同子域、完全不同域)

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请求,不能向不同的域提交请求,例如,在abc.example.com下的页面,不能向def.example.com提交Ajax请求,等等。

然而,当进行一些比较深入

2014/7/16 Comments:
跨域名访问资源的问题 HTML5 Canvas getImageData img.crossOrigin

利用 canvas 取得图片的data,如果 img.src是来自其它域名的图片,浏览器便会禁止执行
例如代码:

<canvas id="example" width="300" height="300">
This text is displayed if your browser does not support HTML5 Canvas.
</canvas>
2014/5/26 Comments:
Chrome 浏览器跨域和安全访问问题 使用 chrome的命令行标记:disable-web-security 参数联调线上数据

做前端的,用Ajax获取数据,是常有的事情,同域下自然没问题了,如果是不同域获取数据,浏览器就有个同源策略的限制

如图:XMLHttpRequest cannot load

...

2014/1/19 Comments:
JQUERY AJAX不允许跨域在windows 7小工具
JQUERY AJAX DOES NOT ALLOW CROSS DOMAIN IN WINDOWS 7 GADGETSReported by:mike@&hellip;Owned by: Priority:lowMilestone:1.nextComponent:ajaxVersion:1.5Keywords: Cc: Blocking: Blocked by: Description The new ajax module in jQuery does not allow cross domain scripting when running in the Windows 7 gadgets environment. It detects that cross domain sc
2011/9/13 Comments:
jQuery.getJSON Ajax 跨域访问远程数据源“拒绝访问”的解决方法
昨天在开发一个腾讯微博API的时候,遇到jQuery.getJSON跨域名远程访问json数据源的时候,报拒绝访问的脚本错误。修改前:运行 复制 保存 javascript代码$.getJSON(apiURL+"gethtlist.jsp", {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, function(json){ alert(json); }); 修改后:运行 复制 保存 javascript代码$.getJSON(apiURL+"gethtlist.jsp?jsoncall
2011/9/13 Comments:
JS拒绝访问错误的产生原因及解决办法-Frame版JS跨域问题
报错:拒绝访问 该错误大部分产生在有iFrame的页面。这个时间你需要检查一下2个页面OPEN出来的地址。产生的原因是因为打开页面的地址与当前页面的地址不在一个域内,这样浏览器的安全机制会阻止JS跨域的操作。案例:在一个系统中,使用iFrame包含了第三方(另一个domain的)的页面,两个系统部署在同一台机器上,iFrame包含的页面首页是个登陆界面,在iFrame所在的页面中使用脚本获取登陆界面的内容,并且对用户名和密码域赋值并提交,以实现自动登陆。但是,如果以http://127.0.0.1:8080 来访问系统,该功能正常,以http://www.camnpr.com:8080 访问则会提示脚本错误:拒绝访问。浏览器认为http://127.0.0.1:8080 与http://ww
2011/9/13 Comments:
Jquery跨域获得Json时invalid label错误的解决办法
这两天用 Jquery 跨域取数据的时候,经常碰到 invalid label 这个错误,十分的郁闷,老是取不到服务器端发送回来的 json 值,一般跨域用到的两个方法为:$.ajax 和 $.getJson最后,仔细安静下来,细读 json 官方文档后发现这么一段:JSON数据是一种能很方便通过JavaScript解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面。服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求。如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的js
2011/9/13 Comments: