您现在的位置:首页 --> JavaScript --> ajax跨域请求问题解决方案
ajax跨域请求问题解决方案
浏览:3299次 出处信息
| 以下是代码片段: var proxy = {}; /*@资源地址*/ proxy.url = null; /*@数据对象*/ proxy.data = null; /*@脚本对象*/ proxy.script = null; /*@创建对象*/ proxy.create = function(){ proxy.script = document.createElement(”script”); proxy.script.type = “text/javascript”; document.getElementsByTagName(”head”)[0].appendChild(proxy.script); }; /*@打开连接*/ proxy.request = function(url ,CallBack ,charset){ proxy.script.src = url; proxy.url = url; proxy.script.setAttribute(”charset” ,charset); if (document.all) { proxy.script.onreadystatechange = function(){ if (proxy.script.readyState == “loaded” || proxy.script.readyState == “complete”) { CallBack(proxy.data); } }; } else { proxy.script.onload = function (){ CallBack(proxy.data); }; } }; /*@添加监听*/ proxy.addEventHandler = function(target, eventType, handler){ if (target.addEventListener) { target.addEventListener(eventType, handler, false); } else if (target.attachEvent) { target.attachEvent(”on” + eventType, handler); } else { target["on" + eventType] = handler; } }; proxy.addEventHandler(window ,”load” ,proxy.create); |
为了实现跨域提交,我们还需要相关服务来支持,及返回什么格式的信息,接收什么样的数据。
比如这里约定为服务器端返回数据格式为:
| 以下是代码片段: proxy.data = { errCode:1 , description:”用户名格式错误” }; |
那么调用我们就可以使用:
| 以下是代码片段: proxy.request(”data.js” ,function(data){ alert(data.errCode); alert(data.description); }); |
这里的data.js就相当于一个server端的服务,真正使用的时候会传相关的参数进去,返回的结果同统一的 proxy.data = {***}这样的,proxy.data为一个json object。
建议继续学习:
- 10个强大的Ajax jQuery文件上传程序 (阅读:8567)
- 优雅绝妙的Javascript跨域问题解决方案 (阅读:7779)
- jQuery中getJSON跨域原理详解 (阅读:6151)
- 跨域请求的iframe解决方案(1) (阅读:6156)
- ajax-cross-domain (阅读:5646)
- 利用跨域资源共享(CORS)实现ajax跨域调用 (阅读:5275)
- 研究ext发现ajax跨域实现 (阅读:4577)
- 三谈Iframe自适应高度 (阅读:4456)
- 使用document.domain和iframe实现站内AJAX跨域 (阅读:4296)
- 使用window.postMessage实现跨域通信 (阅读:4045)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:JavaScript中级笔记
后一篇:研究ext发现ajax跨域实现 >>
文章信息
- 作者:nick 来源: Codyy技术团队
- 标签: ajax 跨域
- 发布时间:2009-10-20 22:47:36
建议继续学习
近3天十大热文
-
[1177] WordPress插件开发 -- 在插件使用 -
[73] 解决 nginx 反向代理网页首尾出现神秘字 -
[44] web开发设计人员不可不用的在线web工具和 -
[41] Java开发岗位面试题归类汇总 -
[32] Rax 系列教程(长列表) -
[32] 手机产品设计方向 -
[31] 一句话crontab实现防ssh暴力破解 -
[28] 如何建立合适的索引? -
[27] 程序员疫苗:代码注入 -
[26] 我对学习oracle与成长的理解
