jqury.crossajax:利用 Flash 完美解决 AJAX 跨域请求(解决GBK编码问题)

张宴大哥的AJAXCDR启发,制作jquery.crossajax,相比AJAXCDR的优点:

1、基于jquery,方便部署

2、不受utf-8编码限制,在请求gbk编码的静态页时很有用

3、回调函数封装,没有全局变量污染

4、js引用放在head区域也可,无需考虑等待装载问题,避免了“不支持该方法”等错误

[……]

继续阅读

AJAXCDR:利用 Flash 完美解决 JavaScript 和 AJAX 跨域 HTTP POST/GET 表单请求

  最近的一个项目中,需要通过 JavaScript 提交表单数据到另一个域名下的PHP接口(因为数据较大,需要HTTP POST方式提交),并获取PHP接口的返回值,在页面无刷新、无跳转的情况下,更新div标签内的内容。


  浏览器出于安全考虑,是不允许JavaScript代码进行跨域操作。JavaScript 和 AJAX 跨域访问分为两大类,一是本域和子域的交互,二是本域和其他域的交互。



  一、本域和子域的交互:www.s135.com 和 blog.s135.com

  二、本域和其他域的交互:blog.s135.com 和 api.bz



  本域和子域的交互,可以通过iframe设置两个域名document.domain = "s135.com",实现统一s135.com域下的跨域访问。



  本域和其他域的交互,可以通过iframe、代理、JS创建动态脚本等几种方法来实现,这里有篇文章对几种方法作了简要的介绍



  iframe、JS创建动态脚本这两种方法,需要开发者能控制两个域,两端都要编写相应的代码,非常麻烦。在本域服务器上用PHP写个代理中转程序,让本域PHP程序去读取远程其他域的数据再返回给自己,是常用的方法。但是,在本域“前端是CDN或Squid缓存服务器,后端才是PHP应用程序服务器”的系统架构下,穿透CDN或Squid去访问不能被缓存的PHP代理中转程序,效率是很低的。



 

[……]

继续阅读