0
我是使用AJAX和JQuery與Java Servlets的新手。我想生成一個搜索頁面,生成搜索結果列表(如谷歌頁面列表)。我的數據庫查詢工作並返回一個JSONObject或一個JSONArray。通過AJAX和JQuery訪問servlet生成的對象(JSONObjects)
我的代碼不適用於JQUERY。我嘗試了很多不同的版本。基本的錯誤是,搜索後的新頁面只是以數組打印的形式顯示數據。它不識別HTML。
我已經顯示我的代碼下面的數據庫查詢刪除。我嘗試的不同版本是使用各種形式的JSON語法,無論是否使用GSON,都沒有任何成效。
該系統是Linux。
任何意見,將不勝感激,甚至鏈接到一個全面的例子。
search.js
$(document).ready(function(){
$('#searchbutton').submit(function)
{
var inputdata = searchText:$("#searchtext").val();
};
$.ajax({
type:"POST",
datatype: "json",
url:"search",
data:inputdata,
success: function(data){
$("#searchResults").append("<b>data.linkresult</b>")
});
});
});
});
});
search.java
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
PrintWriter out = response.getWriter();
// reading the user input
String searchword= request.getParameter("search");
String Tmsg = "";
Map<String, Object> data = new HashMap<String, Object>();
data.put("searchresult", searchword);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(data));
search.jsp的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Search for a word</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="./js/jquery-1.9.1.js"></script>
<script type="text/javascript" src="./js/search.js"></script>
<script type="text/javascript" src="./js/jquery-1.9.1.min.js"></script>
</head>
<body>
<form action="search">
Search<br>
<div>Word -
<input id="searchtext" type="text" name="search" size="40px">
</div>
<div>
<input id="searchbutton" type="submit" value="Submit">
</div>
</form>
<div id="searchresults">
</div>
結果(只顯示此一行):
{"searchresult":"search example"}
謝謝。我試過了,但又失敗了。問題與數據的實際傳輸有關,系統無法理解呈現的頁面是html。我認爲這與ajax直接相關,現在是Java中的編碼。 –