2011-03-20 166 views
0

所以我試圖使用Ajax來解析XML,但它沒有解決,所以我使用了jquery庫,這似乎更簡單的使用。我正在嘗試爲客戶提供休息服務。該服務吐出XML,客戶端應解析它並將其顯示在表中。我不知道我在做什麼錯誤的功能似乎並沒有工作。如果我能得到一點指導,我將不勝感激。XML解析jquery

我這是怎麼叫的jQuery

腳本SRC = 「http://code.jquery.com/jquery-1.5.1.js」 類型= 「文/ JavaScript的」

這是代碼

var HTMLSurveyNames; 
function getSurveyNames(){ 
    alert("hery"); 
    $(document).ready(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "http://survey-creator.appspot.com/rest/surveymakerpro/allsurveys", 
     dataType: "xml", 
     success: function(xml) { 
     HTMLSurveyNames = "<table border='1'><tr>Survey Names<th></th></tr>"; 

     $(xml).find('SurveyList').each(function(){ 

      var surveyName = $(this).find('surveys').text(); 
      HTMLSurveyNames += "<tr><td>"+surveyName+"</td></tr>"; 

     }); 

     document.getElementById('displayNames').innerHTML = HTMLSurveyNames; 
    }); 
    } 
    }); 
}); 
} 

這是我想表出現

div id="displayNames" 

,這是調用函數

input name="GetSurveys" 
    style="width: 103px" 
    type="button" value="View all surveys" 
    onClick=getSurveyNames(); 

回答

0

由於same origin policy限制無法發送AJAX請求到遙遠的領域,所以,除非包含該JavaScript的網頁上http://survey-creator.appspot.com託管這可不行。我懷疑你試圖獲取一個不可能的不同域的託管XML文檔。

如果要做到這一點,你可能需要使用你的域服務器端腳本,它會做遠程調用,以獲取XML,然後返回該XML使您的AJAX調用使用這個服務器腳本:

$.ajax({ 
    type: "GET", 
    url: "/myscript", 
    ... 
}); 
0

看起來像(根據代碼段),您有兩種情況,其中});}行的順序被顛倒過來。

當你張貼時你有東西嗎?如果沒有,那麼看看如何正確形成這些問題變得清晰。