AJAX提交方法(POST)Demon

  AJAX的POST提交方法,本质上来看和GET差不多,有些细小的区别,POST要提交数据时,需要setRequestHeader()方法来提交HTTP头,然后send()方法中提交数据(格式为:"?str=String&str2=String2");str和str2为变量名,String和String2为要发送的值。

  其他与Get差不多。

  下面是一个发送并接收username和password的Demon,先创建一个.html文件,名称随意,代码如下:

  <body>
  <script type="text/javascript" src="1.js"></script>
    用户名称:<input type="text" id="username" /><br />
   用户密码:<input type="password" id="password" /><br />
 <input type="button" onclick="fun();" value="提交"> <br/>
 <p id="txt"></p>
  </body>

  接着来创建1.js的Javascript文件,要和.html在同一目录下,代码如下:

function fun(){
    if(window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
    }else if(window.ActiveXObject){
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        alert("对象无法被构建");
    }

    username = document.getElementById("username").value;
    password = document.getElementById("password").value;

    xmlhttp.onreadystatechange = handchange;
    xmlhttp.open("POST","Servlet1?username="+username+"&password="+password,true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  //设置的HTTP头
    xmlhttp.send("task=task&msg=msg");  //此处只是为了证明send()的使用方法,无意义
}

function handchange(){
    if(xmlhttp.readyState == 4){
        if(xmlhttp.status == 200){
            document.getElementById("txt").innerHTML = xmlhttp.responseText;
        }
    }else{
        document.getElementById("txt").innerHTML = "耐心等待...";
    }
}

  下面创建一个Servlet注意在web.xml里面的映射名称要和xmlhttp.open("POST","Servlet1?username="+username+"&password="+password,true);此处的Servlet1一致。

  Servlet1,doPost代码如下:

response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();
        String username = new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");
        String password = new String(request.getParameter("password").getBytes("ISO-8859-1"),"UTF-8");
        String task = new String(request.getParameter("task").getBytes("ISO-8859-1"),"UTF-8");
        String msg = new String(request.getParameter("msg").getBytes("ISO-8859-1"),"UTF-8");

        System.out.println(username+""+password);
        if(task.equals("task")){
            if(msg.equals("msg")){
                out.println(username+""+password);//send()若是成功传入了数据则,在.html也面中显示输入的值
            }
        }

  截图如下:

输入数据,点击提交,截图如下:

时间: 2024-11-08 03:32:28

AJAX提交方法(POST)Demon的相关文章

标准ajax提交方法

<!-- 表单ajax提交方法 --> <script type='text/javascript'> jQuery(document).ready(function(){ jQuery('form').submit(function(){ jQuery.ajax({ type:'post', dataType:'json', data:jQuery('#activityform').serialize(), url:'/admin/activity/edit?aid='+{{$a

AJAX提交方法(GET)Demon

AJAX作为一种异步的Javascript程序执行方法,极大的弥补了HTTP协议的不足(HTTP协议为无状态协议),可以无需加载整个页面,只需加载所需数据即可,浏览器内置的XMLHttp对象有open()方法,可以提供,JS的异步操作. 下面演示一个GET方法的小例子,GET与POST相比,当传输数据大时,有罕见字符时,建议使用POST: 首先我们创建一个.html文档,名称随意,在里面输入: <body> <script type="text/javascript"

form中的action,submit=&quot;return save()&quot;以及ajax提交方法

<form enctype="multipart/form-data" method="post" name="formform1" id="formform1"action="" onsubmit=""> <table border="1" cellspacing="0" align="center" bgc

2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(function () { var UserId = $('#UserId').val(); if (UserId == "") { $.ajax({ type: "POST", url: '/Users/Create/', data: $("#SaveUserFo

jQuery的ajax的form提交方法应用

1.如果不用ajax的form提交,就必须把表单的每一条数据进行获取,并提交给action进行处理.这样做比较麻烦,现在用了jQuery的easyui,使用封装好的ajax的form提交.脚本代码如下: //提交表单 function sysusersave(){ if($.formValidator.pageIsValid()){//校验表单输入信息是否合法 //使用jquery的ajax from提交,指定from的id和回调方法,提交的url使用提from中的action,参数为空,传递J

Jquery ajax提交表单几种方法详解

[导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程 HTTP 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方

ajax提交session超时跳转页面使用全局的方法来处理

来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在响应头里,再用一个全局的方法来处理session超时要跳转的页面. 在过滤器中写入如下方法:(未测试) public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws I

Validator验证Ajax提交表单的方法

当我们在一些稍微复杂的业务时,可能会遇到需要多个表单form在同一个页面的情况,但是提交一个表单以后不想页面刷新或者跳转,那么我们考虑到的就是Ajax提交表单,那么如何让Jquery的validator插件也可以对异步提交的表单进行验证呢?我们继续往下看. 在这里,我就用网络上的一个例子来说明好了. 下面是一个比较常见的jquery .ajax提交表单的写法 Js代码   $("#submitButton").click(function(){ //序列化表单 var param = 

优化AJAX提交到Handler的ProcessRequest方法

背景: 上周搬到新组开发一个微信端的项目,发现这里前台页面部分都是ajax提交到handler,然后handler的ProcessRequest方法接收提交过来的参数,通过参数中的type选择要执行的方法(这里就是访问数据库的操作和一些业务逻辑的调用,分页等等),处理完成之后返回json串到ajax的success方法,然后显示. 其实ajax提交到handler和提交到后台感觉没多大区别,百度了下,感觉handler是后台程序的简化版,执行更快. ok,今天说的其实是一个比较细节的问题,先看一