解决ajax跨域问题的实例

我死给谁看

我死给谁看

2016-02-20 00:39

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享解决ajax跨域问题的实例吧。

要解决ajax跨域问题,网上给出的方法有二:

1是构建服务器端的代理。简而言之,就是ajax中调用的实质还是本机的url,而服务器端替js去取回远端地址。

2.利用script标记,生成一个标签。在js加载完成后,再执行后续操作。

就是将原来新建xmlHTTPrequest对象的操作改成了新建script标签的操作.

这里给出一个例子:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

#ajah.js

var  Ajah=function(url,varname,handleSuccess,handleFailure){
        /**
        * handleSuccess,handleFailure must be functions
        * */
        script = document.createElement("script");
        script.src=url;
        var handler = function(str)
        {
                handleSuccess(str);
        }
        script.onload = function()
        {
                var json=eval(varname);
                handler(json);
        }
        if(window.ie)
        {
                script.onreadystatechange = function()
                {
                        if(script.readyState=='complete'||script.readyState== 'loaded')
                        {
                                var json=eval(varname);
                                if(typeof json != 'undefined')
                                {
                                        handler(json);
                                }
                        }
                }
        }
        document.body.appendChild(script);
}

而在网页中应这样调用:

#demo.html

pre
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"
html
head
  meta name="generator" content=
  "HTML Tidy for Linux (vers 1 September 2005), see www.w3.org"
 
  title/title
        script src="mootools.js"/script
        script src="ajah.js"/script
/head
 
body
script
var ajah=new Ajah("data.js","json198",function(str){
        console.debug("returned:");
        console.debug(str);
},
function(str){});
/script
/body
/html
/pre

被调用的数据文件如下

#data.js

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

var json198="hello,this is json198";
funciton Ajah(url,varname,handleSuccess,handleFailure){}
Ajah这个构造函数调用四个参数:
url:远端地址
varname:远端返回数据的变量名
handleSuccess:加载完毕后加载的函数
handleFailure:暂时没用上

展开更多 50%)
分享

猜你喜欢

解决ajax跨域问题的实例

Web开发
解决ajax跨域问题的实例

ajax跨域问题的实例

Web开发
ajax跨域问题的实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何解决ajax跨域的问题

Web开发
如何解决ajax跨域的问题

AJAX跨域问题的解决办法

Web开发
AJAX跨域问题的解决办法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Ajax跨域问题的一些解决方法

Web开发
Ajax跨域问题的一些解决方法

ajax跨域访问的解决方案

Web开发
ajax跨域访问的解决方案

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

五大步骤迅速创建Win8.1本地库快捷方式

五大步骤迅速创建Win8.1本地库快捷方式

Javascript如何应用到网页中

Javascript如何应用到网页中
下拉加载更多内容 ↓