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

58,849 Responses

  1. Arthurhow表示:

    http://mexicanpharminter.com/# mexican pharmacy online store
    canadian pharmacy prices

  2. DonDonrob表示:

    darknet markets url https://github.com/nexusdarkrtv1u/nexusdark – darknet markets url

  3. JamesGag表示:

    online pharmacy india: IndiaMedFast – order medicines online india

  4. Williszew表示:

    https://interpharmonline.com/# canadian pharmacy mall

  5. Pingidiof表示:

    darknet market lists https://github.com/aresonioncq0a7/aresonion – darknet market

  6. Williszew表示:

    http://interpharmonline.com/# best online canadian pharmacy

  7. Montebeera表示:

    india pharmacy without prescription IndiaMedFast cheapest online pharmacy india

  8. Arthurhow表示:

    http://interpharmonline.com/# canadian valley pharmacy
    legit canadian online pharmacy

  9. Arthurhow表示:

    http://indiamedfast.com/# lowest prescription prices online india
    maple leaf pharmacy in canada

  10. Montebeera表示:

    mexican pharmacy online mexican drug stores online Mexican Pharm International

  11. Williszew表示:

    http://interpharmonline.com/# reliable canadian pharmacy

  12. Rudolfalgok表示:

    hop over to this site surf tech

  13. Williszew表示:

    http://interpharmonline.com/# canadian neighbor pharmacy

  14. Rudolfalgok表示:

    i was reading this zkLogin

  15. JamesGag表示:

    canadian pharmacy sarasota: most reliable canadian online pharmacies – canadian pharmacy online reviews

  16. Carlosgycle表示:

    Строительные бытовки
    Вагончики и передвижные помещения: эффективное способ для личных нужд
    Вагончики и передвижные помещения способствуют организовать производственную площадку, хранилище или временную постройку. Команда обеспечиваем объекты, которые отвечают профессиональным нормам долговечности и комфорта.

    Особенности
    Устойчивость. Каждая модули созданы из компонентов, прочных к давлению и внешним воздействиям.
    Моментальная доставка. Объект доставляется в пределах 1–2 рабочих дней после оформления заказа.
    Индивидуальная адаптация. Возможна монтаж защиты от холода, электрооборудования или вентиляции.
    Зоны действия
    На строительных объектах для хранения инструментов или устройства комнаты для рабочих.
    Во время мероприятий для создания информационного центра или помещения для инвентаря.
    В качестве временных рабочих зон или управляющих центров.
    Достоинства
    Ускорение процессов. Не требуется создавать временные конструкции.
    Комфорт. Обстановка, которые усиливают качество выполнения задач персонала.
    Гибкость. Шанс краткосрочного пользования или постоянного владения под конкретные требования и бюджет.
    Случай применения
    Подрядчик использовала модульное здание для размещения оборудования и места для рабочих. Объект была транспортирована за день, с специальным утеплением. Пользователь выделил на улучшение обстановки и сокращение простоя.

    Как оформить заказ
    Для оформления заказа следует написать с нами. Предоставим подробную информацию, содействуем определить идеальный выбор и обеспечим поставку.

發佈留言

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