利用AJAX跨域讀取RSS—使用AJAX代理解決AJAX跨域問題

來源:互聯網
上載者:User
 在IE中,每次讀取RSS的時候都會有所示的提示;而在Firefox中則根本不會讀取RSS。

{
img_auto_size(this,450,true);
}" align="baseline" twffan="done" src="http://esoft.bokee.com/inc/AJAXProxy1.jpg">

    這是因為基於安全的考慮,AJAX只能訪問本域下的資源,而不能跨域訪問。也就是說,domain1.com網站中的AJAX只能訪問domain1.com網站下的資源,而不能跨域訪問domain2.com網站中的資源.這就是AJAX跨域問題.

    解決AJAX跨域問題有幾種方法,這裡我們只討論最常用的一種方法---使用AJAX代理解決AJAX跨域問題. 即在domain1.com網站中使用動態網頁(ASP,PHP,JSP等)作為代理頁面讀取domain2.com網站中的資源, 然後在domain1.com網站中使用AJAX讀取本域下的代理頁面. 我們以ASP為例來介紹AJAX代理:

 

 

    AJAX代理---ASP(JAVAScript)

    AJAXProxy.asp

  1. <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
  2. <%
  3. var http1=Server.CreateObject("Microsoft.XMLHTTP");
  4. var RSS_URL=Request("RSS_URL");
  5. http1.Open("GET",RSS_URL,false);
  6. Response.ContentType="text/xml";
  7. http1.send(null);
  8. if(http1.readyState==4){
  9.   Response.BinaryWrite(http1.Responsebody);
  10. }
  11. http1=null;
  12. %>

 

    AJAX代理---ASP(VBScript)

    AJAXProxy.asp

  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
  2. <%
  3. Function send_request(url)
  4. Set Retrieval = CreateObject("Microsoft.XMLHTTP")
  5. With Retrieval
  6.   .Open "Get", url, False, "", ""
  7.   .Send
  8.   send_request = .ResponseBody
  9. End With
  10. Response.ContentType="text/xml"
  11. Set Retrieval = Nothing
  12. End Function
  13.  
  14. url=Request("RSS_URL")
  15. Response.BinaryWrite send_request(url)
  16. Response.Flush
  17. %>

http://developer.yahoo.com/javascript/howto-proxy.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.