ajax跨域问题的实例

2016-02-19 14:09 0 1 收藏

今天图老师小编给大家介绍下ajax跨域问题的实例,平时喜欢ajax跨域问题的实例的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

网页制作Webjx文章简介:要解决ajax跨域问题,网上给出的方法有二.
  
  要解决ajax跨域问题,网上给出的方法有二:
  
  1是构建服务器端的代理。简而言之,就是ajax中调用的实质还是本机的url,而服务器端替js去取回远端地址。
  
  2.利用script标记,生成一个标签。在js加载完成后,再执行后续操作。
  
  就是将原来新建xmlHTTPrequest对象的操作改成了新建script标签的操作.
  
  这里给出一个例子:
  
  #ajah.js
  
  varAjah=function(url,varname,handleSuccess,handleFailure){
  
  /**
  
  *handleSuccess,handleFailuremustbefunctions
  
  **/
  
  script=document.createElement("script");
  
  script.src=url;
  
  varhandler=function(str)
  
  {
  
  handleSuccess(str);
  
  }
  
  script.onload=function()
  
  {
  
  varjson=eval(varname);
  
  handler(json);
  
  }
  
  if(window.ie)
  
  {
  
  script.onreadystatechange=function()
  
  {
  
  if(script.readyState=='complete'||script.readyState=='loaded')
  
  {
  
  varjson=eval(varname);
  
  if(typeofjson!='undefined')
  
  {
  
  handler(json);
  
  }
  
  }
  
  }
  
  }
  
  document.body.appendChild(script);
  
  }
  
  而在网页中应这样调用:
  
  #demo.html
  
  pre
  
  !DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML3.2//EN"
  
  html
  
  head
  
  metaname="generator"content=
  
  "HTMLTidyforLinux(vers1September2005),seewww.w3.org"
  
  title/title
  
  scriptsrc="mootools.js"/script
  
  scriptsrc="ajah.js"/script
  
  /head
  
  body
  
  script
  
  varajah=newAjah("data.js","json198",function(str){
  
  console.debug("returned:");
  
  console.debug(str);
  
  },
  
  function(str){});
  
  /script
  
  /body
  
  /html
  
  /pre
  
  被调用的数据文件如下
  
  #data.js
  
  varjson198="hello,thisisjson198";
  
  funcitonAjah(url,varname,handleSuccess,handleFailure){…}
  
  Ajah这个构造函数调用四个参数:
  
  url:远端地址
  
  varname:远端返回数据的变量名
  
  handleSuccess:加载完毕后加载的函数
  
  handleFailure:暂时没用上
  

来源:https://www.tulaoshi.com/n/20160219/1606318.html

延伸阅读
标签: Web开发
具体情况有: 一、本域和子域的相互访问: http://www.aa.com/和book.aa.com 二、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe 三、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 XMLHttpRequest访问代理 四、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 JS创建...
标签: Web开发
原因: 浏览器安全上做了限制,禁止ajax跨域获得数据。 解决方法: 通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据。优点:兼容性强。 Java后台代码: 代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String callback =req.getParameter("ca...
标签: Web开发
在一项目中由于需要使用js事件中使用AJAX获取数据信息,但这其中涉及到跨域取数据的问题。在网上搜了好半天最后发现了ADAJAX这样一个东东,貌似可以解决这样的问题: advAJAX.get({     url: "http://www.example.com/page.html",     onSuccess : function(obj) { alert(obj.responseText); } }); 需要先引入...
标签: Web开发
在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求;但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的资料说明这是为什么,我觉得应该是出于安全性的考虑吧。纵然如此,要实现跨域访问的话,方法还是有的,而且不只一种,在这里介绍其中一...
标签: Web开发
Cookie跨域操作看来是个简单的问题,因为只要指定Domain属性为指定网站的根域名就可以了. 但是笔者在实际使用过程中却遇到了一些问题,的确值得注意. 环境介绍 cookie在www主域名下创建,并写入Domain属性,如:(为方便调试以下代码皆为asp代码) Code: Write.asp % Response.Cookies(CookieName)("UserNa...

经验教程

89

收藏

99
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部