传统AJAX小例

index.jsp:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8
 9 <script type="text/javascript">
10     http_request = null;
11     function test_ajax(){
12         if(http_request == null){
13             if(window.XMLHttpRequest){
14                 http_request = new XMLHttpRequest();
15             }
16             else if(window.ActiveXObject){
17                 try{
18                     http_request = new ActiveXObject("Msxml2.XMLHTTP");
19                 }catch(e){
20                     try{
21                         http_request = new ActiveXObject("Microsoft.XMLHTTP");
22                     }
23                     catch(e){
24
25                     }
26                 }
27             }
28         }
29         if(http_request == null){
30             console.log("不能创建XMLHttpRequest对象实例");
31             return false;
32         }
33         console.log("创建XMLHttpRequest对象成功");
34         http_request.onreadystatechange = getResult;//绑定处理函数
35
36         http_request.open("POST","second.jsp",true);//true异步---链接
37
38         var msg = "";
39         msg+="name=周一";
40         msg+="&age=45";
41         console.log("msg::"+msg);
42         http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置POST方式额外请求头,GET则不需要
43         http_request.send(encodeURI(msg));
44         /*
45             知识点::传送不支持中文,传送先编码,收到时解码-------------
46         */
47     }
48     function getResult(){
49         console.log("ajax响应结果::readyState::"+http_request.readyState+"::status::"+http_request.status);
50         if(http_request.readyState == 4){
51             if(http_request.status == 200){
52                 alert(http_request.responseText);
53             }
54         }
55     }
56 </script>
57 </head>
58 <body>
59 <hr>
60 <form action="second.jsp" onsubmit="return false;">
61     <!-- <input type="submit" value="提交" onclick=""  /> -->
62     <input type="button"  value="ajax" onclick="test_ajax()" />
63 </form>
64 </body>
65 </html>

second.jsp:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 <hr>
11 the second page
12 <hr>
13
14 <%
15     String getStr = request.getParameter("name").toString();
16     String transfer = new String(getStr.getBytes("ISO-8859-1"),"UTF-8");
17     out.print(transfer);
18 %>
19 <%=request.getAttribute("name") %>
20 </body>
21 <%=request.getParameter("age")%>
22 <hr>
23 中文支持-
24 </html>

时间: 2024-10-20 03:10:41

传统AJAX小例的相关文章

dwr框架异步调用简单小例

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架.可以轻松实现用js直接调用java方法. 通过一个小例子来演示一个dwr的基本使用: ①. 首先肯定要创建一个web project的,然后拷贝dwr.jar到WEB-INF\lib目录下 ②. 修改web.xml文件,添加dwr servlet配置 <servlet> <servlet-name>dwr-invoker</servlet-name>

[转] 传统 Ajax 已死,Fetch 永生

原谅我做一次标题党,Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代. 最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的 $.ajax 迁移到 Fetch,上线一个多月以来运行非常稳定.结果证明,对于 IE8+ 以上浏览器,在生产环境使用 Fetch 是可行的. 由于 Fetch API 是基于 Promise 设计,有必要先学习一下 Promise,推荐阅读 MDN Promise 教程.旧浏览器不支持 Promis

传统 Ajax 已死,Fetch 永生

原谅我做一次标题党,Ajax 不会死,传统 Ajax 指的是 XMLHttpRequest(XHR),未来现在已被 Fetch 替代. 最近把阿里一个千万级 PV 的数据产品全部由 jQuery 的 $.ajax 迁移到 Fetch,上线一个多月以来运行非常稳定.结果证明,对于 IE8+ 以上浏览器,在生产环境使用 Fetch 是可行的. 由于 Fetch API 是基于 Promise 设计,有必要先学习一下 Promise,推荐阅读 MDN Promise 教程.旧浏览器不支持 Promis

封装ajax小工具:

1 ajax-lib/ajaxutils.js: 2 3 // 创建request对象 4 function createXMLHttpRequest() { 5 try { 6 return new XMLHttpRequest();//大多数浏览器 7 } catch (e) { 8 try { 9 return ActvieXObject("Msxml2.XMLHTTP");//IE6.0 10 } catch (e) { 11 try { 12 return ActvieXOb

新版API WordCount 小例 及如何导入jar包

WordCount: 简单解析wordcount小例子的代码,对应于新版的API进行处理. import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.examples.WordCount.TokenizerMapper; import org.apache.hadoop.fs.Path; im

使用libcurl下载文件小例

libcurl是一个很强大的开源网络处理库,支持包括HTTP.HTTPS.FTP--一系列网络协议.用它来进行HTTP的get\post 或者下载文件更是小菜一碟,chrome内核都用到了它,本文主要讲解一个使用curl下载文件的小例. 首先是去下载curl的最新源代码,然后编译成动态库或者静态库:然后把头文件和库文件拿出来加入到我们自己的工程中,引用声明: #include "curl.h" #ifdef _DEBUG #pragma comment(lib, "../De

分享一个Duilib配置的下载器小例

使用DuiLib开发Windows界面实在是太简单了,对于MFC程序员真的是脱离苦海,控件自绘什么的GDI\GDI+真要把人搞死.DuiLib是国内一个非常有名的开源界面库,目前很多软件都是用了它(百度卫士.杀毒.PPS--),感谢开源的前辈们. 扩展列表控件的滚动消息,加上一个定时器,让他可以自动滚动一段再停下来. void CDownloadListUI::DoEvent( TEventUI& event ) { if( !IsMouseEnabled() && event.T

【windows核心编程】IO完成端口(IOCP)复制文件小例

1.演示内容 文件复制 2.提要 复制大文件时,使用FILE_FLAG_NO_BUFFERING标志 同时需要注意: 读写文件的偏移地址为 磁盘扇区 的整数倍 读写文件的字节数为 磁盘扇区 的整数倍 读文件到的缓冲区在进程地址空间中的地址为 磁盘扇区 的整数倍 3.JUST CODING #include "stdafx.h" #include <Windows.h> #include <process.h> #include <iostream>

【windows核心编程】IO完成端口(IOCP)复制文件小例前简单说明

1.关于IOCP IOCP即IO完成端口,是一种高伸缩高效率的异步IO方式,一个设备或文件与一个IO完成端口相关联,当文件或设备的异步IO操作完成的时候,去IO完成端口的[完成队列]取一项,根据完成键(Complete Key)来判断是哪个设备或文件的操作完成,然后再根据实际情况进行处理. 2.相关API 和 数据结构   将一个已完成的IO通知追加到IOCP的[完成队列]中 BOOL   PostQueuedCompletionStatus( HANDLE    hCompletionPort