我正在嘗試爲我們的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,但成功函數仍未調用。
當您嘗試向http://oursever.com:51088/... –
生成的xml – hepabolu