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

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

 

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泡壶好茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值