之前在项目中使用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. CentOS下的一些基础问题解答

    1. 在/etc/passwd中某一行信息为“Linux01:x:505:505:/home/linux12:/bin/bash”,由此可知哪些信息? 用户名为linux01,需要密码登陆,用户ID为 ...

  2. 查找——图文翔解HashTree(哈希树)

    引 在各种数据结构(线性表.树等)中,记录在结构中的相对位置是随机的.因此在机构中查找记录的时须要进行一系列和keyword的比較.这一类的查找方法建立在"比較"的基础上.查找的效 ...

  3. php把时间戳转换成英文格式

    <?php echo "时间格式1:".date("Y-m-d H:i:s ")."<br>";// 2010-06-12 ...

  4. c++ String 大小写转化

    string toUpperString(string str) { transform(str.begin(), str.end(), str.begin(), (int (*)(int))toup ...

  5. OpenCV学习:实现简单的图像叠加

    本实例使用简单的线性叠加方法来实现两幅图像的叠加,主要使用的知识如下: 1)线性融合 2)addWeighted函数 //! computes weighted sum of two arrays ( ...

  6. 详解google Chrome浏览器(理论篇)

    注解:各位读者,经博客园工作人员反馈,hosts涉及违规问题,我暂时屏蔽了最新hosts,若已经获取最新hosts的朋友们,注意保密,不要外传.给大家带来麻烦,对此非常抱歉!!! 开篇概述 1.详解g ...

  7. 为什么使用eval()将json字符串转换为对象要多加一个小括号

    使用eval()将json字符串转换为对象要多加一个小括号: 关于eval()函数的具体用法这里就不多介绍了,具体可以参阅javascript的eval()方法一章节,下面就介绍一下为什么使用eval ...

  8. 谷歌Volley网络框架讲解——Network及其实现类

    我们看到Network接口只有一个实现类BasicNetwork,而HttpStack有两个实现类. BasicNetwork这个类是toolbox工具箱包里的,实现了Network接口. 先来看下N ...

  9. linux如何设置用户权限

    linux与用户权限设置: 1.添加用户 首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 ...

  10. 关于OS命令注入的闭合问题

    1.在Windows下 windows下非常好办,只需要&肯定可以执行: C:\Users\xxx\Desktop>aaaa | 127.0.0.1 'aaaa' 不是内部或外部命令,也 ...