DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> 解決AJAX 跨域訪問完整解決方案
解決AJAX 跨域訪問完整解決方案
編輯:AJAX詳解     

在一項目中由於需要使用JS事件中使用AJAX獲取數據信息,但這其中涉及到跨域取數據的問題。在網上搜了好半天最後發現了ADAJax這樣一個東東,貌似可以解決這樣的問題:

advAJax.get({
    url: "http://www.example.com/page.Html",
    onSuccess : function(obj) { alert(obj.responseText); }
});

需要先引入:adAJax.JS(可以下面網站下載)

詳細地址:

http://advAJax.anakin.us/index-en.htm

 

但是這最終還不能解決我的問題,我需要將從其他網站獲取的內容強制轉化為JS可執行腳本:

advAJax.get({
    url: "http://www.abc.com/page.Html",
    onSuccess : function(obj) { eval(obj.responseText); }
});

這時候問題又出來,在IE中提示有安全警告,然後便不能正確執行了,有些郁悶了,在Firefox中根本都沒有任何反應,通過調試跟蹤都無法執行到onSuccess事件來。

弄了很久,最終決定直接在js腳本中引入url作為JS腳本嵌套執行,這下好像是通關了啊。

var requestUrl='http://www.sample.com/UI/AdMessage/GetAdMessageByKey.ASPx?G&SiteId='+SiteId+'&SiteDomain='+SiteDomain+'&Index='+linkId+'&KeyId='+k.id+'&stamptime=' + new Date().getTime();
               
      LoadAdScript(requestUrl);

 

function LoadAdScript(script)
       {
       var adScript=document.getElementById("adScript");
       // var adCss=document.getElementById("AdCSS");
        if(adScript)
         document.body.removeChild(adScript);
          // if(adCss) head.removeChild(adCSS);
          
        var l=CreateEl("script");
        l.setAttribute("type","text/Javascript");
      
        l.setAttribute("src",script);
     
        l.setAttribute("id","adScript");
       document.body.appendChild(l);
      
       }

值得注意的是GetAdMessageByKey.ASPx輸出必須為JS腳本(比如:Response.write("alert('hello my god');");類似文本

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved