直接上代码:
我在下面的案列里用了辅助类反射BaseServlet,若是不知道原理的可查看我之前的博客。
下面是servlet的代码:
package org.news.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="AjaxServlet",urlPatterns="/AjaxServlet")
public class AjaxServlet extends BaseServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
public void sel(HttpServletRequest request, HttpServletResponse response) throws IOException {
//json格式内容
String str="[{\"name\":\"winter1\"},{\"name\":\"winter2\"},{\"name\":\"winter3\"}]";
//将json内容返回到ajax页面解析
response.getWriter().print(str);
}
}
下面是ajax的接收代码:
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script type="text/javascript">
$(function(){
$.ajax({
url:"AjaxServlet", //提交的url
data:"opr=sel",
dataType:"JSON", //之前是text的,现在返回类型必须改成JSON,
type:"POSt", //提交方式
success:function(parm){ //提交成功执行的操作
//如何接收到servlet返回的数据进行调用
alert("ajax输出成功!");
$(parm).each(function(){
alert(this.name);
});
},
error:function(){ //提交失败执行的操作
alert(2);
}
});
});
</script>