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

  1. Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  2. Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  3. Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  4. Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  5. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов nothing в москве, можете посмотреть на сайте: ремонт телефонов nothing цены
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  6. Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт телефонов samsung, можете посмотреть на сайте: срочный ремонт телефонов samsung
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  7. RichardJah表示:

    Криптовалюта перевернула мир, и все сразу осознали: крипта — это не игрушка.
    Европейский Центральный банк, столп финансовой стабильности, сейчас в панике. В своём последнем отчёте они предупредили:
    Биткойн — это не просто пузырь, это социальная угроза.
    Якобы биткойн способствует классовому неравенству: владельцы крипты, по их мнению, обогащаются за счёт бедных, оставшихся не у дел. Слабым и беззащитным, мол, пора активно выступать против криптовалют.
    Иначе, намекает ЕЦБ, последствия будут катастрофическими. В отчёте даже рекомендовали блокировать криптовалюты, чтобы предотвратить политические последствия, намекая на то, что держатели активов могут повлиять на выборы. Примером они приводят США, где кандидаты активно заигрывают с крипто-избирателями.
    Внезапно банки стали предупреждать нас о некой угрозе, исходящей от крипты, словно всю жизнь они берегли нас от бедности.
    Неужели банки, которые сами по себе являются орудием неравенства, теперь стали беспокоиться о простых людях? Это забавно, потому что именно криптовалюта открыта для всех, кто готов попробовать что-то новое. Здесь нет двери с надписью «Только для своих», как в случае с банками.
    Никто не запрещает вам пользоваться биткоином или эфиром. Никто за вас не решает, кто достоин, а кто нет. Но банки об этом не говорят. Вместо этого они пытаются создать образ криптовалют как инструмента для преступников, заявляя, что она вредит экономике и ведёт к катастрофическим последствиям.
    Как будто предыдущие кризисы и экономические коллапсы — это дело рук биткоина, а не самих банков.

    Реальные примеры:
    В последние годы, особенно в 2024 году, швейцарские банки без зазрения совести закрывали счета у всех, у кого в паспорте указано место рождения — Россия.
    По всей Европе, прикрываясь санкциями, банки отбирали деньги у населения. Например, чтобы перевести деньги, нужно предоставить массу документов, подтверждений, деклараций, историю происхождения денег. Даже если всё в порядке, счёт могут заморозить.
    В Турции, где сейчас рекордная инфляция, люди нашли спасение в криптовалюте, так как она даёт хоть какую-то стабильность и никак не зависит от капризов правительства, банков или комплаенс-отделов.
    В Ливане банки за один день заблокировали вклады, оставив людей без своих денег.

    Банковский контроль:
    Банкиры мониторят ваши транзакции, требуют подтверждений и историю происхождения денег, даже если прошло 10 лет. Вы вынуждены объяснять, зачем вам ваши же собственные средства. И всё это сопровождается традиционными комиссиями и навязанными услугами.

    А что даёт криптовалюта?
    Вы можете переводить деньги сколько угодно, кому угодно, когда угодно.
    Нет лишних вопросов, никакого контроля и комплаенса.
    Полная конфиденциальность.
    Да, крипта имеет свои риски: волатильность, недостаточная правовая защита. Но при грамотном подходе эти риски можно минимизировать. Тогда криптовалюта становится надёжной альтернативой.

    Криптовалюта — это не просто средство обмена, это символ независимости.
    Она не зависит от банковской системы, которая строила границы и правила исключительно в свою пользу. ЕЦБ утверждает, что биткойн — это угроза. И он прав. Только эта угроза направлена не на людей, а на банковскую систему.
    Настоящий ужас для ЕЦБ в том, что люди больше не зависят от их комиссий и бесконечных документов.
    Криптовалюта даёт финансовую свободу. Именно это пугает банки. Их борьба с криптой — это борьба за сохранение монопольных привилегий.

    Теперь выбор за каждым:
    Остаться в клетке банковских правил.
    Или стать частью свободного мира, где твои деньги — это твоё решение.
    https://www.youtube.com/watch?v=_cSJTHSC_SE

  8. DanielAbice表示:

    http://prednibest.com/# 5 mg prednisone tablets

  9. Здесь можно оружейные шкафы и сейфыоружейный сейф

  10. 匿名訪客表示:

    Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  11. Introducing to you the most prestigious online entertainment address today. Visit now to experience now!

  12. DanielAbice表示:

    http://cipharmdelivery.com/# ciprofloxacin over the counter

  13. RobertJar表示:

    amoxicillin medicine over the counter: amoxicillin 500mg cost – amoxicillin azithromycin

  14. SamuelBix表示:

    amoxicillin 500mg over the counter: Amox Star – where can i get amoxicillin

  15. RobertJar表示:

    buy amoxicillin 500mg: Amox Star – amoxicillin 500mg tablets price in india

  16. KennethPah表示:

    where to buy amoxicillin 500mg without prescription amoxicillin buy canada can you purchase amoxicillin online

  17. RobertJar表示:

    ciprofloxacin over the counter: CiPharmDelivery – cipro 500mg best prices

  18. KennethPah表示:

    buy prednisone tablets uk how much is prednisone 10mg 40 mg daily prednisone

  19. KennethPah表示:

    can you buy clomid no prescription can i buy cheap clomid no prescription how can i get generic clomid without insurance

  20. DanielAbice表示:

    http://cipharmdelivery.com/# buy cipro online canada

  21. RobertJar表示:

    buy ciprofloxacin over the counter: purchase cipro – where can i buy cipro online

  22. промокод продамус на 5000 промокод продамус на 5000 .

  23. KennethPah表示:

    10mg prednisone daily prednisone for sale in canada prednisone best price

  24. DanielAbice表示:

    https://amoxstar.com/# amoxicillin 500 coupon

  25. SamuelBix表示:

    prednisone 20 mg tablets coupon: buy prednisone without prescription paypal – cortisol prednisone

  26. продамус промокоды продамус промокоды .

  27. Apart from, you should also voice out your cognizance of varied calendar apps and applications that will help you keep up together with your appointments, schedules, and inner meetings as nicely.

發佈留言

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