Ajax复习

                                                                    AJAX复习

Ajax:

Ajax:采用的是异步刷新的机制,不会影响当前页面。
采用的是javascript的编写。
核心对象:
  1.XMLHttpRequest对象(大部分浏览器都支持)
  2.ActiveXObject对象(低版本IE浏览器)

原生Ajax:

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">
	function getAjax(){
		// 1.定义一个 Ajax对象
		var ajaxRequest = null;
		// 2.根据浏览器的不同创建Ajax对象
		if(window.XMLHttpRequest){
			ajaxRequest = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			ajaxRequest = new ActiveXObject();
		}else{
			alert("你的浏览器 不支持Ajax技术");
		}
		if(ajaxRequest !=null ){
			// 3.建立与服务器的连接
			ajaxRequest.open("get","ajaxTest.action?name=刘波");

			ajaxRequest.onreadystatechange= function(){
				// 4.监听ajax的请求状态
				/*
				0: 请求未初始化
				1:建立服务器的连接
				2:正在发送请求
				3:请求正在处理中
				4:请求处理完毕,并响应以完成
				*/
				if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200){
					alert(ajaxRequest.responseText);
				}
			}
		}
		
		// 5.发送Ajax请求
		ajaxRequest.send(null);
	}
</script>
</head>
<body>
	<input type="button" value="测试" οnclick="getAjax()" />
</body>
</html>

Servlet:

package com.liubo.web.action;

import java.io.IOException;

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

public class AjaxTest extends HttpServlet {

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 设置get请求的字符编码
		String name = req.getParameter("name");
		name = new String(name.getBytes("iso-8859-1"), "utf-8");
		System.out.println(name);
		// 设置响应的字符编码
		resp.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		resp.getWriter().println(name);

	}

}

POST请求:

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">
	function getAjax(){
		// 1.定义一个 Ajax对象
		var ajaxRequest = null;
		// 2.根据浏览器的不同创建Ajax对象
		if(window.XMLHttpRequest){
			ajaxRequest = new XMLHttpRequest();
		}else if(window.ActiveXObject){
			ajaxRequest = new ActiveXObject();
		}else{
			alert("你的浏览器 不支持Ajax技术");
		}
		if(ajaxRequest !=null ){
			// 3.建立与服务器的连接
			ajaxRequest.open("post","ajaxTest.action");

			ajaxRequest.onreadystatechange= function(){
				// 4.监听ajax的请求状态
				/*
				0: 请求未初始化
				1:建立服务器的连接
				2:正在发送请求
				3:请求正在处理中
				4:请求处理完毕,并响应以完成
				*/
				if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200){
					alert(ajaxRequest.responseText);
				}
			}
		}
		// 5.设置请求消息头
		ajaxRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		// 6.发送Ajax请求
		ajaxRequest.send("name=科比");
	}
</script>
</head>
<body>
	<input type="button" value="测试" οnclick="getAjax()" />
</body>
</html>

Servlet:

package com.liubo.web.action;

import java.io.IOException;

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

public class AjaxTest extends HttpServlet {

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 设置get请求的字符编码
		req.setCharacterEncoding("utf-8");
		String name = req.getParameter("name");
		System.out.println(name);
		// 设置响应的字符编码
		resp.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		resp.getWriter().println(name);

	}

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值