2013-05-31 233 views
1

我正在嘗試爲我們的web服務編寫一個簡單的「概念驗證」前端。 webservice是一個返回在tomcat中運行的簡單xml的java webapp。 前端由簡單的HTML頁面和一些jQuery功能組成。我在本地機器上開發頁面,而Web服務在我們的一臺服務器上運行。jQuery無法訪問java web服務

基本上這是我做的:

var url = "http://ourserver.com:51088/service/action/?param=123"; 
$.get(url,function(data,status) { 
    alert("Data: " + data + "\nStatus: " + status); 
}); 

當我把網址在Firefox地址欄中,我得到的結果XML。

當我運行jQuery代碼時,Firebug顯示了生成的xml,但警報從不顯示。

想這可能是一個跨瀏覽器的腳本問題,我寫了通過本地主機的任何一點點的node.js代理服務器:51088 /路徑ourserver.com:51088/path。所以我改變了url VAR到

var url = "http://localhost:51088/service/action/?param=123"; 

同樣,在XML瀏覽器的測試結果這個網址。所以node.js代理服務器工作正常。

當我運行在Firebug jQuery代碼我現在一直得到Reload the page to get source for: http://localhost:51088/.....

我不知所措,現在我。

更新:多讀書後,我改變了jQuery代碼到:

$.ajax({ 
    type: "GET", 
    contentType: "application/xml", 
    url: url, 
    datatype: "text xml", 
    xhrFields: { 
    withCredentials: true 
    }, 
    succes: function(xml) { alert(xml) }, 
    error: function(obj, status, err) { alert ("error\nstatus: " + status + "\nerr: " + err)} 
}); 

現在,如果我使用遠程URL或本地網址也沒關係。兩者都在控制檯日誌中返回xml,但成功函數仍未調用。

+0

當您嘗試向http://oursever.com:51088/... –

+0

生成的xml – hepabolu

回答

2

拼寫錯誤「成功」選項。

+0

發出請求時,您的控制檯會顯示什麼內容謝謝,我已檢查了是否有錯別字以及錯過了這一項。它現在有效。 – hepabolu

0

在我看來,你希望你的代理服務器無法正常工作。

並作爲你的第一個問題,在我看來,它是跨域請求的問題。