jquery的AJAX跨域请求及跨域请求的原理

来源:互联网 发布:阿里云ostv破解 编辑:程序博客网 时间:2024/06/07 02:42

jQuery的AJAX跨域请求的实现:

这边文章写得很好:

http://justcoding.iteye.com/blog/1366102

阅读jQuery的源码可知,用设置 dataType: "jsonp"进行跨域请求时,jQuery会判断请求的域是否和页面属于同域,如果同源,则不通过script标签获取跨域数据,n为false,如下图:

 

如果是跨域,n为true,进入if语句里面,创建script标签,并设置charset编码属性值为:scriptCharset。

有关跨域的原理请看上面地址的文章,看jQuery源码可知jquery的跨域请求底层也是通过script标签获取跨域数据。

 

在项目开发中发现一个问题:如果跨域请求的数据是和设置的scriptCharset设置的编码格式不同,且又和页面编码格式不同会有乱码问题:

我们项目中服务器返回的是GBK编码的数据,scriptCharset设置的是UTF-8,页面编码是GB2312,发现在IE7下会有乱码,其他IE版本及浏览器又正常。这个有点莫名其妙

 

 

再介绍一篇相关阅读,里面有网络分析工具Fiddler的使用及AJAX提交的编码的大致用法的介绍:

http://www.jb51.net/article/24097.htm

 

 


原创粉丝点击