ajax接收后端数据

案例:

页面放一个连接,当点击链接,向后端发送请求,最终显示到页面上。再次点击链接,信息隐藏。

效果

demo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="./js/jquery-1.8.3.js"></script>
<script type="text/javascript">
	$(function() {
		//$("#show_content").hide();
		$("a").toggle(function() {
			var url="ShowStuServlet";
			$.post(url,function(data){
				var jsonObj=eval(data);
				//console.log(jsonObj);
				var tab=$("<table border='1'><tr><td>编号</td><td>姓名</td><td>学号</td><td>爱好</td></tr></table>");
				for(var i=0;i<jsonObj.length;i++){
					var obj=jsonObj[i];
					var tr=$("<tr><td>"+obj.id+"</td><td>"+obj.name+"</td><td>"+obj.sno+"</td><td>"+obj.hobby+"</td></tr>")
					tab.append(tr);
				} 
				//console.log(tab);
				$("#show_content").append(tab);
				$("#show_content").show();
			})
		},function(){
			$("#show_content").hide();
			$("#show_content").html("");
		})
	})
</script>
</head>
<body>
<a href="#">显示学生信息</a>
<div id="show_content" >

</div>
</body>
</html>

ShowStuServlet.java

package com.item.servlet;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSONObject;
import com.item.domain.Studen;

/**
 * Servlet implementation class ShowStuServlet
 */
@WebServlet("/ShowStuServlet")
public class ShowStuServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setCharacterEncoding("utf-8");
		Studen stu=new Studen();
		Studen stu2=new Studen();
		stu.setId(1);
		stu.setName("小明");
		stu.setSno("123456");
		stu.setHobby("篮球");
		
		stu2.setId(2);
		stu2.setName("小花");
		stu2.setSno("22222");
		stu2.setHobby("足球");
		ArrayList<Studen>arr=new ArrayList<Studen>();
		arr.add(stu);
		arr.add(stu2);
		//System.out.println(arr);
		response.getWriter().print(JSONObject.toJSONString(arr));
	}

	/**
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

接下来通过查询数据库得到数据返回

ShowStuServlet.java

package com.item.servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSONObject;
import com.item.dao.StudentDao;
import com.item.domain.Studen;

/**
 * Servlet implementation class ShowStuServlet
 */
@WebServlet("/ShowStuServlet")
public class ShowStuServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setCharacterEncoding("utf-8");
		StudentDao studao=new StudentDao();
		List<Studen> list;
		try {
			list = studao.getStu();
			response.getWriter().print(JSONObject.toJSONString(list));
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

StudentDao.java

package com.item.dao;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.item.domain.Studen;
import com.item.utiles.C3P0Utiles;

public class StudentDao {
	public List<Studen> getStu() throws SQLException{
		QueryRunner queryRunner=new QueryRunner(C3P0Utiles.getDataSource());
		String sql="select * from test";
		List<Studen>list=queryRunner.query(sql,new BeanListHandler<>(Studen.class));
		return list;
	}
}

效果

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的例子: HTML页面中,可以使用jQuery库的ajax方法发送请求并接收后端数据,示例代码如下: ```html <!DOCTYPE html> <html> <head> <title>AJAX Example</title> <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script> </head> <body> <div id="result"></div> <script> $.ajax({ url: "/api/data", // 后端接口地址 method: "GET", // 请求方法 success: function(data) { // 成功回调函数 $("#result").html(data); // 显示后端返回的数据 }, error: function() { // 失败回调函数 alert("请求数据失败!"); } }); </script> </body> </html> ``` 这里使用了jQuery库中的ajax方法,通过设置url、method、success和error参数来发送请求、处理响应和处理异常。其中,url表示后端接口地址,method表示请求方法(GET、POST、PUT等),success和error分别表示请求成功和失败时的回调函数。在success回调函数中,我们将后端返回的数据显示在页面上,这里使用了jQuery库的html方法。 后端接口可以根据具体需求来设计,这里以Python Flask框架为例,示例代码如下: ```python from flask import Flask app = Flask(__name__) @app.route('/api/data') def get_data(): data = "Hello, World!" return data if __name__ == '__main__': app.run() ``` 这里定义了一个路由/api/data,当接收到GET请求时,返回字符串"Hello, World!"。当然,实际应用中,我们可以从数据库中查询数据等,然后将结果返回给前端页面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值