jquery中load()方法通常从web服务器获取静态文件,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()或者底层的$.ajax()方法。
$.get(url, data, callback, type)参数介绍如下:
1.url:请求的URL.
2.data:发送至服务器的key/value数据附加到URL中。
3.callback:载入成功时的回调函数(response返回状态为成功时调用该函数)自动将请求结果和状态传递给该方法。
4.服务器返回内容的格式。
举例:点击一个按钮将一个字符串从客户端传到服务器,经服务器处理后返回新的字符串。
jsp代码:
<body>
<input type="button" id="send" value="AJAX获取"/>
<div id="resText"></div>
</body>
javascript代码:
<script type="text/javascript"> $(function(){ $("#send").click(function(){ var str = "test"; $.get("AjaxServlet", {name : str}, function(responseText, textStatus){ if(textStatus == "success") $("#resText").text(responseText); if(textStatus == "error") alert("Error"); }); }); }); </script>
创建servlet类AjaxServlet,doget()函数代码如下:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
writer.println("helloworld" + name);
}
servlet配置:
<servlet> <servlet-name>AjaxServlet</servlet-name> <servlet-class>org.AjaxServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AjaxServlet</servlet-name> <url-pattern>/AjaxServlet</url-pattern> </servlet-mapping>
启动程序后点击按钮就返回了新的字符串
$.ajax()方法是jQuery最底层的Ajax实现,因此可以用它代替$.get()方法。
上例中js代码变为:
$(function(){ $("#send").click(function(){ var ajaxdata = { name : "xiaoli", psd : "123" }; $.ajax({ url : "AjaxServlet", type : "GET", data : ajaxdata, success : function(responseText, textStatus){ $("#resText").text(responseText); }, error : function(){ alert("error"); } }); }); });
转载于:https://blog.51cto.com/11697581/1825305