返回列表 發帖

ajax 讀取 web service xml 問題

大家好想問一個問題,是有關於jQuery Ajax的部分
我想要從http://egis.moea.gov.tw/innoserve/webservice/main.aspx這地方所提供web service取得資料回傳(xml)
我的查詢網址如下:http://egis.moea.gov.tw/MoeaEGFx ... 9863&buffer=800
這部分還ok,但是當我放進去ajax的時候卻無法跑,error一直alert我 undefined!!

程式碼如下:
$(document).ready(function(){

var Link = "http://egis.moea.gov.tw/MoeaEGFxData_WebAPI_Inside/InnoServe/BusinessBUSM?x=120.263309&y=22.629863&buffer=800";
function parse(document){
  alert("In1!");
  $(document).find("BUSMINFO").each(function(){
    $("#content").append(
        '<p>BussName: '+$(this).attr('BussName')+
        //'<br /> Title: '+$(this).find('title').text()+
        //'<br /> Author: '+$(this).find('author').text()+
        '</p>'
        );
  });
}



  $.ajax({
    url: Link, // name of file you want to parse
    dataType: "xml",
        type: 'GET',
        data: myData,
        contentType: "application/xml; charset=utf-8",
    success: parse,
        error:function (xhr, ajaxOptions, thrownError){
                alert(thrownError);
            }
        //error: function(){alert("Error: Something went wrong");}
  });
});
但當我把http://egis.moea.gov.tw/MoeaEGFx ... 9863&buffer=800這網頁下載下來當作xml檔放在本機端時,確沒有問題!

想知道我哪個部分做錯了,希望獲得指正!謝謝><

回wmh大

謝謝你指點迷津,我改用php抓檔回傳給javascript
已經成功了!

TOP

我是指如果你要用 JavaScript 會需要 server 端有開放或設定好 cross domain 的存取方式或權限。
但是如果你改用後端程式抓就不會有這個問題。
To infinity and beyond!

TOP

您好,謝謝您剛剛給的回覆!因為我必須透過egis.moea.gov.tw所開放的web service去取他們提供的資料,您提到的用自己後端程式抓是指將她的xml結果抓下來嗎? 那與他們開放有什麼關係呢?不好意思這部分有點入門><

TOP

你是在自己的網站作 cross domain 的 ajax call 嗎? 這樣無法存取喔。

一般來說這樣的資料要透過自己後端的程式來抓,例如 Java、PHP、Python、ROR 等等。
前端要做 cross domain 的方式有很多種,但是都需要 server 端配合,我沒有細看,但是我猜測他們(egis.moea.gov.tw)沒有開放這樣的方式。
To infinity and beyond!

TOP

返回列表 回復 發帖