国产探花免费观看_亚洲丰满少妇自慰呻吟_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:暫時沒用上

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌鲁木齐县| 普兰店市| 上虞市| 辽阳县| 东光县| 化州市| 增城市| 三台县| 庆阳市| 连平县| 闽清县| 尼勒克县| 独山县| 黄冈市| 墨江| 巍山| 黑山县| 依兰县| 邹城市| 循化| 陕西省| 长海县| 都匀市| 巧家县| 阿克陶县| 平陆县| 伊川县| 金溪县| 伽师县| 高尔夫| 仪陇县| 思茅市| 英德市| 南城县| 石阡县| 阳泉市| 蒙城县| 民县| 江陵县| 韶山市| 田东县|