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

36,992 Responses

  1. Craigbup表示:

    darknet market links tor market

  2. WilliamTraug表示:

    https://buynolvadex.store/# how to prevent hair loss while on tamoxifen

  3. Rickymug表示:

    generic tadalafil daily tadalafil 20 mg mexico

  4. Hillfut表示:

    darknet market wiki cannahome link

  5. GlennAnive表示:

    lipitor 10mg price lipitor 10

  6. DavidJex表示:

    metformin glucophage metformin generic cost

  7. Rickymug表示:

    tadalafil soft gel capsule tadalafil best price uk

  8. Rickymug表示:

    best tadalafil tablets in india tadalafil price

  9. Tbmjsu表示:

    accutane pills – amoxil 250mg uk buy tetracycline 250mg generic

  10. GlennAnive表示:

    lipitor 40 mg price in india brand name lipitor price

  11. WilliamTraug表示:

    https://buynolvadex.store/# tamoxifen therapy

  12. fmltnqur表示:

    hydroxychloroquine online canada hydroxychloroquine tablets buy online plaquenil 200 mg

  13. zanaflex and withdrawal zanaflex for anxiety what is the highest dose of zanaflex what will 10 zanaflex do to u

  14. Ensgpw表示:

    accutane without prescription – generic isotretinoin 10mg order tetracycline for sale

  15. RobertBet表示:

    amoxicillin buy online canada amoxil generic

  16. Hillfut表示:

    Heineken Express darknet Market deep web drug store

  17. Xojwjj表示:

    isotretinoin 40mg pills – purchase azithromycin generic order tetracycline 250mg

  18. Stepheninsug表示:

    https://prednisoneforsale.store/# prednisone canada prices

  19. azithromycin hives how much is azithromycin 1g fish antibiotics azithromycin for sale what all does azithromycin treat

  20. GeorgegaifF表示:

    doxycycline cream doxycycline purchase

發佈回覆給「Hillfut」的留言 取消回覆

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