透過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...

47,351 Responses

  1. RobertRix表示:

    precription drugs from canada: canadian drug pharmacy – onlinepharmaciescanada com

  2. Richardves表示:

    my canadian pharmacy rx reviews: buy drugs online – levitra from canadian pharmacy

  3. Charlesrhype表示:

    lisinopril 20mg tablets cost prescription for lisinopril lisinopril 15mg

  4. Всем рекомендую!Aviator играть

  5. ScottJeove表示:

    doxycycline 100 mg india: Buy doxycycline hyclate – doxycycline tablets 100mg

  6. JamesFliva表示:

    http://lisinopril.auction/# lisinopril 10 mg tablet price

  7. VernonTratt表示:

    zithromax 500: zithromax antibiotic – where can i get zithromax over the counter

  8. Всем рекомендую!Aviator играть

  9. Charlesrhype表示:

    ciprofloxacin 500mg buy online buy ciprofloxacin over the counter cipro

  10. ScottJeove表示:

    buy amoxicillin online mexico: cheap amoxicillin – can you buy amoxicillin uk

  11. JamesFliva表示:

    https://azithromycin.bar/# can you buy zithromax over the counter in canada

  12. Всем рекомендую!Aviator играть

  13. Charlesrhype表示:

    how to buy doxycycline online Buy Doxycycline for acne doxycycline over the counter usa

  14. VernonTratt表示:

    cheap amoxicillin 500mg: amoxicillin no prescipion – where to buy amoxicillin 500mg without prescription

  15. ScottJeove表示:

    buy doxycycline online cheap: Buy Doxycycline for acne – doxycycline prices

  16. JamesFliva表示:

    http://amoxicillin.best/# buy amoxicillin from canada

  17. Всем рекомендую!игра Авиатор

  18. Charlesrhype表示:

    where can i buy zithromax uk buy cheap generic zithromax zithromax 500 mg for sale

  19. ScottJeove表示:

    where to get zithromax: buy zithromax – zithromax 250 mg

  20. JamesFliva表示:

    http://azithromycin.bar/# zithromax generic cost

  21. sitemap表示:

    It iis apptopriate time to make some plpans ffor thhe future andd iit is time
    too bbe happy. I hazve read this postt and iff I could I want too sugtgest youu soome inreresting things oor suggestions.
    Perhapls you coud write next articles refedring tto
    this article. I desire too reaqd even more things about it!

  22. sitemap表示:

    Heyy tjere justt wanted tto give youu a quick heads up.
    The text in youyr podt sesm too be running off tthe screedn inn Inteernet
    explorer. I’m not suree iff his iss a format issue or somwthing to do with brower
    compatibilijty butt I figured I’d post too let you
    know. The styyle aand desiggn look great though! Hope you
    gett thhe problem fixed soon. Many thanks

  23. sitemap表示:

    ezch time i uded tto rdad saller articles which as well clar thesir motive, andd that
    is also happening wth this articxle which I am reading here.

  24. sitemap.xml表示:

    Heyy There. I found youur blog ussing msn. Thiis is a very wll wriitten article.
    I will be sure tto bookmaqrk iit aand return to read mmore off youhr
    usdeful info. Thankjs foor the post. I’ll definitely return.

  25. VernonTratt表示:

    zestril 5 mg tablet: Buy Lisinopril 20 mg online – lisinopril 15mg

  26. Charlesrhype表示:

    how to get zithromax online buy zithromax zithromax capsules australia

  27. ScottJeove表示:

    order zithromax without prescription: zithromax antibiotic – where to buy zithromax in canada

  28. sitemap表示:

    Whatt i don’t understood is iin truth how you’re now not
    actually a lott mre neatly-favored than you might bee
    right now. You’re so intelligent. Youu already know thhus conssiderably
    with regardss to this matter, made mee foor myy part conssider itt ftom numeous
    numerous angles. Itts like women and meen don’t seem to be injvolved until it’s one thing to accomplish wioth Womqn gaga!
    Youur ownn styffs great. All tthe tije handle it up!

  29. JamesFliva表示:

    https://amoxicillin.best/# can we buy amoxcillin 500mg on ebay without prescription

發佈留言

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