之前在项目中使用ajax都是通过jQuery的Ajax API来进行的,今天试了一下通过基本的JavaScript来进行ajax请求,将代码记录下来:

jsp 页面
  1. <%@ page pageEncoding="UTF-8"%>
  2. >
  3. <html>
  4. <head>
  5. <title>Ajaxtitle>
  6. <script type="text/javascript" src="media/js/jquery.js" mce_src="media/js/jquery.js">script>
  7. <script type="text/javascript" src="media/ajax.js" mce_src="media/ajax.js">script>
  8. head>
  9. <body>
  10. Ajax.jsp<br/>
  11. <div id="msg" style="width:400px;height:200px;margin:1em;padding:1em;border:1px solid #DD6900">
  12. 啦啦啦
  13. div>
  14. <button id="start" style="margin:1em;border:1px solid #DD6900" mce_style="margin:1em;border:1px solid #DD6900">Start Ajaxbutton>
  15. body>
  16. html>
进行ajax请求的js 代码,可以附带一些json和xml数据(必须是post方法)
  1. var xmlHttp;
  2. function createXMLHttpRequest() {
  3. if (window.ActiveXObject) {
  4. xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  5. }
  6. else if (window.XMLHttpRequest) {
  7. xmlHttp = new XMLHttpRequest();
  8. }
  9. }
  10. var okFunc = function(){
  11. if(xmlHttp.readyState == 4) {
  12. if(xmlHttp.status == 200) {
  13. $("#msg").html(xmlHttp.responseText);
  14. }
  15. }
  16. }
  17. var startAjax = function(){
  18. $("#msg").html("Loading...");
  19. createXMLHttpRequest();
  20. if( !xmlHttp){
  21. return alert('create failed');
  22. }
  23. xmlHttp.open("POST", "Test", true);
  24. xmlHttp.onreadystatechange = okFunc;
  25. xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  26. xmlHttp.send(document);
  27. }
  28. $(document).ready(function(){
  29. $("#start").click(startAjax);
  30. $.post("Test",{'name':'Hello','age':22});
  31. });

在服务器端的Servlet:

java 代码
  1. package ajax;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. public class Test extends HttpServlet {
  10. public void doGet(HttpServletRequest request, HttpServletResponse response)
  11. throws ServletException, IOException {
  12. BufferedReader reader = request.getReader();
  13. String line = null;
  14. while((line = reader.readLine()) != null) {
  15. System.out.println(line);
  16. }
  17. System.out.println("Start writing");
  18. response.setContentType("text/html");
  19. PrintWriter out = response.getWriter();
  20. out.println(");
  21. out.flush();
  22. out.close();
  23. }
  24. @Override
  25. protected void doPost(HttpServletRequest req, HttpServletResponse resp)
  26. throws ServletException, IOException {
  27. doGet(req, resp);
  28. }
  29. }

AJAX.basic的更多相关文章

  1. ajax basic 认证

    //需要Base64见:http://www.webtoolkit.info/javascript-base64.html function make_base_auth(user, password ...

  2. Jquery ajax basic

    $.ajax({ url: "test.aspx?action=testaction", contentType: "application/json; charset= ...

  3. web 端 gantt组件选型

    gantt - 甘特图 甘特图(Gantt chart)又称为横道图.条状图(Bar chart).其通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况.以提出者亨利·L ...

  4. ajax 上传文件给webapi(带basic认证)

    $('#btnupload').on('click', function () { var fd = new FormData(); ]; fd.append("report_id" ...

  5. C#进阶系列——WebApi 身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  6. WebApi身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  7. 新一代Ajax API --fetch

    之前 师傅跟我提过 一个新的Ajax API  fetch 今天看到一篇关于fetch的文章,受益匪浅. XMLHttpRequest并不是专为Ajax而设计的,虽然各种框架对XHR的封装已经足够好用 ...

  8. datatables ajax后端请求那些坑

    在对datatables做后端数据填充的时候,遇到一个,翻页问题.在多次操作翻页后,总是提示加载中.反了很多博客没有找到原因. 经过测试,发现原来自己坑了自己. 代码如下: datatables : ...

  9. h5 js 图片预览并判断 ajax上传

    //建立一個可存取到該file的url function getObjectURL(file) { var url = null; if (window.createObjectURL != unde ...

随机推荐

  1. linux ffmpeg编译配置安装详解

    http://www.111cn.net/sys/linux/53039.htm ffmpeg是一开源的可跨平台使用的一个图形处理插件,这可以进行录制.转换以及流化音视频,同时可以对视频进行截图,下面 ...

  2. VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通

    记录下VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通过程,网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅. 环境: 在Oracle ...

  3. Oracle之唯一性约束(UNIQUE Constraint)使用方法具体解释

    Oracle | PL/SQL唯一索引(Unique Constraint)使用方法 1 目标 用演示样例演示怎样创建.删除.禁用和使用唯一性约束. 2 什么是唯一性约束? 唯一性约束指表中一个字段或 ...

  4. JavaStuNote 5

    接口 (interface) 一个抽象类,全部的方法都是抽象的,全部方法的public, 我们把这种类叫做极度抽象类,是最干瘪的类. public abstract class A { public  ...

  5. oracle中LAG()和LEAD()以及over (PARTITION BY)

    LAG()和LEAD()统计函数可以在一次查询中取出同一字段的前N行的数据和后N行的值.这种操作可以使用对相同表的表连接来实现,不过使用LAG和 LEAD有更高的效率.以下整理的LAG()和LEAD( ...

  6. 下次不用找了,all language code

    语言 ID 语言 ID 决定网站中网页文本(例如“网站设置”页上的文本)使用的语言.创建网站时可用的语言取决于在服务器或服务器场中安装的语言模板包.基于 Windows SharePoint Serv ...

  7. linux系统中,tee命令的使用

    需求描述: 今天在看nginx内容的过程,遇到了tee这个命令,所以查询了下,在这里记录下使用方法. 操作过程: 1.执行以下的命令 [root@testvm ~]# uname -n | tee h ...

  8. mybatis由浅入深day01_ 7输入映射(7.1传递pojo的包装对象_7.2#{}与${}_7.3传递简单类型_7.4传递pojo对象_7.5传递hashmap)

    7 输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 7.1 传递pojo的包装对象 7.1.1 需求 完成用户信息的综合查询,需要 ...

  9. rpm源码安装mysql

    1)访问官网(mysql社区服务器) http://downloads.mysql.com/archives/community/ 2)选择自己需要的版本和对应服务器(例如 服务器是centos 6. ...

  10. 十大Material Design开源项目

    介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳.本文详细介绍了在Android开发者圈子里颇受青睐的十个Material Desig ...