0
我正在爲商店科學出版物構建一個Web應用程序。我用過MySQL,JSP,jQuery和JAVA。jQuery - Servlet的AJAX調用
我有一個JSP頁面內的表單,像這樣:
<form method="get">
<input type="text" id="code">
<button onclick="request()">Search</button>
</form>
功能請求()是:
function request() {
var code = $('#code').val();
var data='code='+code;
$.ajax({
url: "Servlet",
type: "GET",
data: data,
success: function(){
alert("success");
},
error:function(){
alert("failure");
}
});
};
該servlet做一些東西,然後保存的結果集在請求對象中查詢並將結果轉發到索引
request.setAttribute("result", resultSet);
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);
的的index.jsp包含:
<% if(request.getAttribute("result")!=null){ %>
<jsp:include page="table.jsp" />
<%}%>
檢查,如果結果集已被填充,則包括table.jsp,頁面掃描的結果集,並把該值在表中。
此代碼無效,有人可以幫我嗎? 1查詢運行正確 2- jQuery是正確調用
但
if(request.getAttribute("result"))
總是空。
看來你是混合了阿賈克斯和同步處理。通常,ajax響應將被附加到servlet響應流。 – kosa
而不是'request.setAttribute(「result」,resultSet);'嘗試使用session,'session.setAttribute(「result」,resultSet);'。 –
Nambari你是對的!我混合了兩個不太一樣的概念。我回到了表單中簡單的「動作」,它調用了servlet。謝謝。 – sim186