之前在项目中使用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. 天线增益英文名称:antenna gain

    天线增益是指:在输入功率相等的条件下,实际天线与理想的辐射单元在空间同一点处所产生的信号的功率密度之比.它定量地描述一个天线把输入功率集中辐射的程度.增益显然与天线方向图有密切的关系,方向图主瓣越窄, ...

  2. docker和kubernetes docker的区别

    之前公司的测试环境,刚开始自己搭建虚拟机,然后安装redis,nginx,mq,mysql,tomcat,jdk,marven,还有jekins.前面些还算好点,jekins还是比较麻烦的.然后搭完以 ...

  3. elastic-job(lite)使用的一些注意事项

    前段时间项目开发中用到了当当开源的elastic-job,使用过程遇到一些问题,虽然不见得会影响写代码,但作为一个致力于搬好每一块砖的码农,当碰到问题时,我们不应该逃避,应该本着有困难也要上,没有困难 ...

  4. [ACM] poj 2017 Speed Limit

    Speed Limit Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 17030   Accepted: 11950 Des ...

  5. Python 入门(四)List和Tuple类型

    创建list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  6. 基于51的串行通讯原理及协议详解(uart)

    串行与并行通讯方式并行:控制简单,传输速度快.线多,长距离成本较高且同时接受困难.串行:将数据字节分成一位一位的行驶在一条传输线上进行传输.如图:   同步与异步串行通讯方式同步串行通讯方式:同步通讯 ...

  7. centos solr4.5 tomcat 简单安装[已测试ok]

    一.环境准备: 1.jdk安装 2.tomcat安装 这两个基本环境的安装在这里就不说了 二.下载solr-4.5.0.tgz 三.安装solr 1.解压solr tar -zxvf /opt/sol ...

  8. Nginx遇上Access Denied提示怎么解决

    这几天在摆弄linux下面的各种服务器,对nginx非常有兴趣. 于是把phpmyadmin传上去了,先是phpmyadmin配了半天,结果配好之后发现phpmyadmin一些logo.css.js文 ...

  9. js中如何删除json对象的某一个选项

    我有一个这样一个对象,getData, 但是我不想要每一项的id,那怎么去删除呢(使用delete)? getData.map((item) =>{ delete item["id&q ...

  10. JS-对象查找父级

    之前在寻找两个以上的父级,一直傻傻的用parent().parent()... 今天,需要写五个,当然以前也是写过五个的,但是今天总想着换个简单的方式,至少不要.parent().parent().p ...