透過JS跨網域存取XML檔

為了一些安全性的因素,通常伺服器會阻擋跨網域的XML存取,當然如果你是該網站開發者,所開發的頁面應該將會被放在被認可的網域中,不會碰到這個問題,但我們在開發前期有可能會不在所屬的網域,這樣就會造成開發上的困難,不過我們可以透過Yahoo所提供的YQL查詢語法來解決這個問題,以下就是相關的說明:

若我們在自己的電腦用以下的語法去存取一個網路上的XML

<script>
    $(function () {
        var xmlSource = "http://stanley.cloudlab.tw/crossDomainXML/testXML.xml";
        $.ajax({
            url: xmlSource,
            success: function (data) {
                console.log(data);
            }
        })
    })
</script>

很可能會出現「No Access Control Allow Origin」的訊息:

Cross doamin XML access

但如果套用上YQL之後

<script>
$(function(){
	var xmlSource = "http://stanley.cloudlab.tw/crossDomainXML/testXML.xml";
	var yqlURL = [
		"http://query.yahooapis.com/v1/public/yql",
		"?q=" + encodeURIComponent("select * from xml where url='" + xmlSource + "'"),
		"&format=xml&callback=?"
	].join("");

	$.getJSON(yqlURL, function(data){
		console.log(data)
	});
	
})
</script>
Cross doamin XML access

可以看到已經可以抓到XML內容,這樣可以讓我們較為方便的去開發,其他詳細的使用說明可以參考Yahoo YQL Guide

You may also like...

43,705 Responses

  1. RodrigoJet表示:

    https://sweetiefox.online/# Sweetie Fox video

  2. JamesDiect表示:

    lana rhoades izle: lana rhoades filmleri – lana rhodes

  3. Metal scrap reprocessing center Ferrous material recycling standards Iron recycling and reuse

    Ferrous material licenses, Iron and steel scrapping and reclamation services, Metal reclaiming and reuse

  4. RodrigoJet表示:

    http://lanarhoades.fun/# lana rhodes

  5. JamesDiect表示:

    lana rhodes: lana rhoades modeli – lana rhoades filmleri

  6. Thomasgelty表示:

    http://evaelfie.pro/# eva elfie video

  7. Thomasgelty表示:

    https://evaelfie.pro/# eva elfie izle

  8. JamesDiect表示:

    eva elfie filmleri: eva elfie video – eva elfie modeli

  9. EddieDor表示:

    http://angelawhite.pro/# Angela White filmleri

  10. RodrigoJet表示:

    https://sweetiefox.online/# Sweetie Fox video

  11. JamesDiect表示:

    Angela White: abella danger izle – abella danger izle

  12. Thomasgelty表示:

    http://abelladanger.online/# Abella Danger

  13. EddieDor表示:

    http://abelladanger.online/# abella danger filmleri

  14. Thomasgelty表示:

    https://evaelfie.pro/# eva elfie modeli

  15. JamesDiect表示:

    Sweetie Fox filmleri: sweety fox – Sweetie Fox modeli

  16. JeremyTen表示:

    order doxycycline online doxycycline 200 mg odering doxycycline

  17. JamesDiect表示:

    Angela White izle: Abella Danger – abella danger video

  18. JordanAmoca表示:

    http://diflucan.pro/# diflucan oral

  19. JordanAmoca表示:

    http://cipro.guru/# cipro

  20. RaymondGef表示:

    buy cipro cheap cipro 500mg best prices cipro for sale

  21. Great site! I recommend to everyone!Checking Wallet

  22. JordanAmoca表示:

    https://nolvadex.guru/# tamoxifen cancer

  23. JordanAmoca表示:

    https://cipro.guru/# buy cipro online

  24. Irvinvef表示:

    https://nolvadex.guru/# how to prevent hair loss while on tamoxifen

  25. RaymondGef表示:

    nolvadex generic tamoxifen cancer tamoxifen hip pain

  26. RaymondGef表示:

    ciprofloxacin order online buy ciprofloxacin over the counter ciprofloxacin mail online

  27. JordanAmoca表示:

    http://nolvadex.guru/# nolvadex steroids

  28. Vlxjpn表示:

    fda medrol methylprednisolone medicine methylprednisolone 8 mg pills

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。