国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

解決ajax跨域問題的實例

2024-09-01 08:26:02
字體:
來源:轉載
供稿:網友

要解決ajax跨域問題,網上給出的方法有二:

1是構建服務器端的代理。簡而言之,就是ajax中調用的實質還是本機的url,而服務器端替js去取回遠端地址。

2.利用script標記,生成一個標簽。在js加載完成后,再執行后續操作。

就是將原來新建xmlhttprequest對象的操作改成了新建script標簽的操作.

這里給出一個例子:

#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

var json198="hello,this is json198";
funciton ajah(url,varname,handlesuccess,handlefailure){…}
ajah這個構造函數調用四個參數:
url:遠端地址
varname:遠端返回數據的變量名
handlesuccess:加載完畢后加載的函數
handlefailure:暫時沒用上

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临西县| 武山县| 江口县| 竹溪县| 昌都县| 威信县| 张家港市| 越西县| 铁岭市| 正镶白旗| 安宁市| 嵊泗县| 皮山县| 开化县| 大兴区| 丹东市| 宁安市| 寻乌县| 东海县| 双峰县| 厦门市| 稻城县| 蕉岭县| 澎湖县| 合阳县| 徐汇区| 渭源县| 抚顺市| 建湖县| 汕尾市| 乡城县| 大关县| 加查县| 南岸区| 山西省| 伊春市| 乐安县| 正镶白旗| 绵竹市| 高雄县| 广东省|