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

  1. DavidrAilk表示:

    80 mg prednisone daily prednisone 5mg over the counter online prednisone 5mg

  2. DavidrAilk表示:

    amoxicillin 500mg buy online canada amoxicillin brand name amoxicillin without rx

  3. DavidrAilk表示:

    amoxicillin 500 mg online amoxicillin generic amoxicillin medicine

  4. RobertRix表示:

    https://zithromaxall.com/# zithromax 500 price

  5. JamesGonRy表示:

    https://amoxilall.com/# can you buy amoxicillin over the counter canada

  6. DavidRuils表示:

    order generic clomid for sale: can you buy clomid without prescription – where buy clomid for sale

  7. RobertRix表示:

    http://zithromaxall.com/# zithromax cost canada

  8. JamesGonRy表示:

    http://zithromaxall.com/# buy zithromax

  9. RobertRix表示:

    http://clomidall.com/# where can i get clomid without rx

  10. Qfxplv表示:

    amoxicillin medication – buy cefadroxil 250mg pills ciprofloxacin for sale

  11. DavidrAilk表示:

    40 mg prednisone pill 50 mg prednisone from canada can i buy prednisone online in uk

  12. RobertRix表示:

    http://amoxilall.shop/# amoxicillin 500mg capsules uk

  13. DavidrAilk表示:

    how to get zithromax zithromax antibiotic without prescription can you buy zithromax online

  14. Edwardjem表示:

    order prednisone on line: where to buy prednisone 20mg – prednisone 20mg online

  15. DavidRuils表示:

    generic amoxicillin online: can i buy amoxicillin over the counter – where can i buy amoxicillin over the counter uk

  16. DavidrAilk表示:

    prednisone brand name india prednisone canada prescription prednisone online paypal

  17. Edwardjem表示:

    amoxicillin 500 capsule: amoxicillin where to get – amoxicillin 500 mg without prescription

  18. RobertRix表示:

    http://clomidall.shop/# where to buy generic clomid

  19. Howdy! Do you know if they make any plugins to assist with SEO?
    I’m trying to get my blog to rank for some targeted keywords but I’m
    not seeing very good results. If you know of any please share.
    Thank you! I saw similar blog here: Backlink Portfolio

  20. RobertRix表示:

    https://zithromaxall.shop/# where to buy zithromax in canada

  21. Edwardjem表示:

    where can i buy generic clomid without a prescription: can i get generic clomid pill – order cheap clomid without prescription

  22. DavidrAilk表示:

    buy zithromax online fast shipping zithromax 500mg zithromax 500 mg lowest price online

  23. JamesGonRy表示:

    http://clomidall.shop/# can you buy clomid without a prescription

  24. DavidrAilk表示:

    zithromax pill zithromax 250mg buy zithromax online

  25. RobertRix表示:

    http://prednisoneall.shop/# prednisone cream

  26. JamesGonRy表示:

    https://prednisoneall.com/# prednisone pill 10 mg

  27. RobertRix表示:

    http://zithromaxall.com/# buy cheap zithromax online

  28. DavidrAilk表示:

    can you get clomid now order clomid prices how can i get cheap clomid without a prescription

  29. DichaelDax表示:

    Aw, this was a really nice post. Taking a few minutes and actual effort to produce a very good article… but what can I say… I procrastinate a lot and don’t seem to get nearly anything done.

    Гама казино

  30. RobertRix表示:

    https://amoxilall.com/# amoxicillin 500mg capsules price

發佈留言

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