加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

实例代码分析:百度如何实现AJAX跨域

发布时间:2018-08-22 17:45:48 所属栏目:创业 来源:站长网
导读:烈火建站学院(LieHuo.Net)AJAX教程 大家在做网站时可能会遇到AJAX跨子域名的问题,这个问题对于技术高手来说可能并不难,但是对于新手来说可能是难题了,偶尔看到baidu的通行证处理都是在二级域名passport.baidu.com中处理的,但是baidu很多地方登录都好

  烈火建站学院(LieHuo.Net)AJAX教程 大家在做网站时可能会遇到AJAX跨子域名的问题,这个问题对于技术高手来说可能并不难,但是对于新手来说可能是难题了,偶尔看到baidu的通行证处理都是在二级域名passport.baidu.com中处理的,但是baidu很多地方登录都好像是用ajax处理的,他是怎么做的呢?研究了一下,发现一个小技巧。 咱们也借鉴一下。

  在http://zhidao.baidu.com/ 未登录用户回答问题时会用iframe调用http://zhidao.baidu.com/userlogin.html,userlogin.html有下面的javascript,代码如下:


  我们可以看到request方法处理异步请求使用动态往head中添加script而不是用xmlhttp发送get请求。妙就妙在这。我们知道调用javascript是没有域的限制的。当加载完成时一样会执行。当然请求参数只能通过拼url的方式了。url通过服务器处理后直接输出loginFalse()或者PSP_ik();
非常优雅的解决了跨域的问题。

  这让我们想到了用iframe当ajax上传文件一样异曲同工。 如果不需要服务器反馈,google的点击计数用new img().src=...; 当然baidu这段脚本中还有一些小的技巧也值得我们学习。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读