透過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,855 Responses

  1. Williamfer表示:

    gates of olympus oyna: gates of olympus taktik – gates of olympus slot

  2. Timsothyabela表示:

    Simply wish to say your article is as astonishing. The clearness in your publish is simply excellent and that i can assume you are an expert in this subject. Well with your permission let me to take hold of your RSS feed to keep up to date with coming near near post. Thanks one million and please keep up the rewarding work.
    28weeks.ru

  3. Franksib表示:

    sweet bonanza demo: sweet bonanza giris – sweet bonanza mostbet

  4. Robertevend表示:

    http://gatesofolympus.auction/# gates of olympus guncel

  5. Keithadoms表示:

    http://slotsiteleri.guru/# slot oyunlar? siteleri

  6. Robertevend表示:

    https://sweetbonanza.bid/# sweet bonanza güncel

  7. Franksib表示:

    sweet bonanza slot demo: sweet bonanza giris – sweet bonanza demo

  8. Franksib表示:

    aviator pin up: pin up casino – pin-up casino indir

  9. Robertevend表示:

    http://aviatoroyna.bid/# aviator oyunu 50 tl

  10. Robertevend表示:

    http://aviatoroyna.bid/# aviator oyunu 20 tl

  11. Franksib表示:

    aviator hile: aviator sinyal hilesi ucretsiz – aviator oyunu

  12. Williamfer表示:

    bonus veren casino slot siteleri: en yeni slot siteleri – guvenilir slot siteleri

  13. Franksib表示:

    aviator oyunu 50 tl: aviator hile – ucak oyunu bahis aviator

  14. Keithadoms表示:

    http://gatesofolympus.auction/# gates of olympus slot

  15. Williamfer表示:

    bonus veren slot siteleri: casino slot siteleri – yeni slot siteleri

  16. Robertevend表示:

    http://slotsiteleri.guru/# en yeni slot siteleri

  17. Robertevend表示:

    http://gatesofolympus.auction/# gates of olympus demo türkçe

  18. Franksib表示:

    gates of olympus 1000 demo: gates of olympus oyna ucretsiz – gates of olympus hilesi

  19. Williamfer表示:

    pin-up casino indir: pin-up casino – pin up casino guncel giris

  20. Keithadoms表示:

    https://slotsiteleri.guru/# slot siteleri guvenilir

  21. Franksib表示:

    aviator nas?l oynan?r: aviator – aviator sinyal hilesi ucretsiz

  22. Robertevend表示:

    http://slotsiteleri.guru/# en yeni slot siteleri

  23. Franksib表示:

    aviator: aviator casino oyunu – aviator oyna 20 tl

  24. Robertevend表示:

    https://aviatoroyna.bid/# aviator sinyal hilesi

  25. Keithadoms表示:

    http://aviatoroyna.bid/# aviator sinyal hilesi apk

  26. Williamfer表示:

    en iyi slot siteleri 2024: guvenilir slot siteleri 2024 – bonus veren slot siteleri

  27. Franksib表示:

    aviator sinyal hilesi apk: aviator nas?l oynan?r – aviator hile

  28. Robertevend表示:

    https://pinupgiris.fun/# pin up indir

  29. Robertevend表示:

    http://pinupgiris.fun/# pin up 7/24 giris

  30. Franksib表示:

    aviator oyunu giris: aviator oyunu 10 tl – aviator hilesi

發佈留言

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