1. 程式人生 > >Springmvc中前端ajax請求後臺的三種返回方式

Springmvc中前端ajax請求後臺的三種返回方式

ajax是一個重點又是自己薄弱的地方,記錄一下

一、前端請求,三個test方法分別對應後臺的三個方法返回值

	<button onclick="testAjax0()">Ajax0</button>
	<button onclick="testAjax1()">Ajax1</button>
	<button onclick="testAjax2()">Ajax2</button>

	<script type="text/javascript" src="../jquery.min.js"></script>
	<script type="text/javascript">
		function testAjax0(){
				$.post("ajax.do",null,function(data){
					alert(data);
				});
			}
		function testAjax1(){
			$.post("ajax1.do",null,function(data){
				alert(data);
			});
		}
		function testAjax2(){
			$.post("ajax2.do",null,function(data){
				alert(data);
			});
		}
	
	</script>

二、後臺三種返回方式

/**
	 * ajax
	 * 方式一  通過servlet中的response返回資料
	 * @throws IOException 
	 */
	@RequestMapping(value="/ajax.do")
	public void Ajax(HttpServletResponse resp) throws IOException{
		resp.getWriter().write("hello  ajax");
	}

	//方式二  通過流的形式
	@RequestMapping(value="/ajax1.do")
	public void Ajax1(Writer out) throws IOException{
		out.write("hello ajax1");
	}

	//方三  通過註解的形式
	@RequestMapping(value="/ajax2.do")
	@ResponseBody  //返回值就是響應的內容
	public String Ajax2() throws IOException{
		return "hello  ajax2";
	}

三、測試結果