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

  1. MichaelFedly表示:

    http://mexicanpharmacy.shop/# mexican drugstore online

  2. RobertVex表示:

    cheapest online pharmacy india: indian pharmacy delivery – Online medicine order

  3. Lewisslund表示:

    Завод из России реализует разборные гантели https://gantel-razbornaya.ru – у нас найдете объемный ассортимент предложений. Качественные снаряды позволяют эффективно выполнять силовые тренировки в любом месте. Изделия для спорта отличаются удобством, универсальностью в использовании.  Компания из России продуктивно изучает и осуществляет инновационные технологии, чтобы осуществить желания постоянных тренирующихся.  В выпуске надежных снарядов активно используются легированные марки металла. Достойный комплект продуктов дает возможность получить разборные гантели для эффективной программы занятий. Для домашних занятий – это лучший комплект с маленькими размерами и большой фунциональности.

  4. Great site! I recommend everyone to watch it! The biggest choice!Rama strawberry kiwi

  5. Edwardalorp表示:

    Online medicine home delivery Cheapest online pharmacy п»їlegitimate online pharmacies india

  6. MichaelFedly表示:

    https://mexicanpharmacy.shop/# purple pharmacy mexico price list

  7. Charlesutisa表示:

    canadian pharmacy online: Certified Canadian Pharmacy – reliable canadian pharmacy

  8. MichaelFedly表示:

    http://indianpharmacy.icu/# india pharmacy mail order

  9. Edwardalorp表示:

    india online pharmacy п»їlegitimate online pharmacies india Online medicine home delivery

  10. Charlesutisa表示:

    Online medicine home delivery: Generic Medicine India to USA – indian pharmacies safe

  11. Edwardalorp表示:

    canadian discount pharmacy reputable canadian pharmacy cheap canadian pharmacy

  12. Robertevend表示:

    http://slotsiteleri.guru/# slot siteleri 2024

  13. Franksib表示:

    sweet bonanza 90 tl: slot oyunlari – sweet bonanza taktik

  14. Robertevend表示:

    https://aviatoroyna.bid/# aviator hilesi

  15. Franksib表示:

    en iyi slot siteleri: oyun siteleri slot – en iyi slot siteleri

  16. Williamfer表示:

    pin-up casino giris: pin up aviator – pin up aviator

  17. Kcayuo表示:

    buy anafranil no prescription – buy duloxetine 40mg pill sinequan 75mg tablet

  18. Franksib表示:

    sweet bonanza free spin demo: sweet bonanza indir – sweet bonanza oyna

  19. Robertevend表示:

    https://slotsiteleri.guru/# en güvenilir slot siteleri

  20. Robertevend表示:

    http://aviatoroyna.bid/# aviator oyunu giris

  21. Franksib表示:

    slot siteleri 2024: en iyi slot siteleri 2024 – en yeni slot siteleri

  22. Keithadoms表示:

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

  23. Great site! I recommend everyone to watch it! The biggest choice!Rama Vape

  24. Robertevend表示:

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

  25. Franksib表示:

    aviator casino oyunu: aviator oyna 20 tl – aviator sinyal hilesi apk

  26. Robertevend表示:

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

  27. Williamfer表示:

    gates of olympus demo oyna: gates of olympus taktik – gates of olympus taktik

  28. Franksib表示:

    pin up aviator: pin up guncel giris – pin up indir

  29. Williamfer表示:

    pin up: pin-up casino giris – pin-up casino

  30. Keithadoms表示:

    http://pinupgiris.fun/# pin-up online

發佈留言

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