[英]jQuery client for REST webservice with jersey
我是 jQuery 新手,我正在嘗試為我的 Web 服務開發客戶端。 我嘗試了一些簡單的東西,只是為了測試,但它仍然不起作用,盡管對我來說似乎沒問題。
我的 tomee/webapp 文件夾中有 jQuery 庫,以及我的 html 和 javascript 文件。 如果我在我的 javascript 文件中編寫一些非 jQuery 代碼,它就可以工作。
我有以下代碼:
索引.html
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="client.js"></script>
</head>
<body>
<input type="button" id="getAllButton" value="Get all books" onclick="return getAllBooks()"/>
<div id="messageBox"></div>
</body>
</html>
客戶端.js
function getAllBooks() {
$.ajax({
dataType: 'application/xml',
type: 'GET',
url: rootURL + '/books',
success: function (data) {
alert(1);
},
error: function (data) {
alert(2);
}
});
}
問題是不會出現警報。 如果編寫純 javascript(我的意思是沒有 jQuery),則會出現警報。
為什么不顯示警報? 有什么建議嗎?
謝謝!
索林
讓我們試着找出什么有效,什么無效; 嘗試將您的 client.js 更改為:
alert(1);
function getAllBooks() {
alert(2);
window.open(rootURL + '/books');
$.ajax({
dataType: 'application/xml',
type: 'GET',
url: rootURL + '/books',
success: function (data) {
alert(3);
},
error: function (data) {
alert(4);
}
});
}
如果您看到警報 #1(當您的 html 頁面加載時),那么您的 client.js 路徑就可以了。 如果您看到警報 #2(當您單擊按鈕時),那么至少正在調用該函數。
驗證 window.open() 是否顯示了您的 Web 服務應該向您顯示的內容(即使是錯誤消息也會引導您拋出正確的路徑)。 當然,如果您看到警報 #3 或 #4,那么您的問題就被它自己神秘地解決了......它有時會發生:-)
注意:如果您知道如何使用瀏覽器的 javascript 控制台,請使用 console.log() 而不是 alert() 進行調試;
感謝 charlietfl 的提示! 他們幫我解決了問題。
問題是它不知道 rootURL 是誰。 我在一個例子中找到了 rootURL,我認為這是在 jQuery 中定義的。 好像不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.