AJAX提交方法(GET)Demon

  AJAX作为一种异步的Javascript程序执行方法,极大的弥补了HTTP协议的不足(HTTP协议为无状态协议),可以无需加载整个页面,只需加载所需数据即可,浏览器内置的XMLHttp对象有open()方法,可以提供,JS的异步操作。

  下面演示一个GET方法的小例子,GET与POST相比,当传输数据大时,有罕见字符时,建议使用POST;

  首先我们创建一个.html文档,名称随意,在里面输入:

<body>
        <script type="text/javascript" src="1.js"></script>
        用户注册:<br/>
        用户编号:<input type="text" name="str1" id="str1" /><br/>
        用户名称:<input type="text" name="str2" id="str2" /><br />
        <input type="button" value="注册" onclick="test();" />
        <p id="mydiv"  ></p>
  </body>

  这个是body之内的代码,主要就是一个前端的界面,底下的<p></P>显示从servlet里面的返回值。

  创建一个1.js文件,代码:

var xmlhttp = null;
/**
 *
 */
function test(){
    if(window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
    }else if(window.ActiveXObject){
        xmlhttp = new ActiveXObject("Micorsoft.XMLHTTP");
    }else{
        alert("创建对象失败");
    }

    str1 = document.getElementById("str1").value;
    str2 = document.getElementById("str2").value;

    xmlhttp.onreadystatechange = test2;
    xmlhttp.open("GET", "servlet?str1="+str1+"&str2="+str2, true);
    xmlhttp.send(null);

}

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

  下面配置servlet代码,创建一个sevlet类,在doGet()方法里面写:

response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String str1 =new String(request.getParameter("str1").getBytes("ISO-8859-1"),"UTF-8");
        String str2 =new String (request.getParameter("str2").getBytes("ISO-8859-1"),"UTF-8");
        String responseText = "userNumber is:"+str1+",userName is:"+str2+"[Menthod is GET]";
        out.println(responseText);
        out.close();

  很简单的servlet,doGet()方法。创建好了之后,在web.xml将servlet的映射(<url-pattern>/servlet</url-pattern>)标签之内,一样。

  点击注册之后便会显示了。

  

  下面填入暑假,点击注册:

  

  可以看浏览器左侧,并没有新加载页面,通过servlet直接更新了部分数据,AJAX成功运用的典型还有Google earth等一些页面即时通讯.

时间: 2024-10-14 00:46:25

AJAX提交方法(GET)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提交方法(POST)Demon

AJAX的POST提交方法,本质上来看和GET差不多,有些细小的区别,POST要提交数据时,需要setRequestHeader()方法来提交HTTP头,然后send()方法中提交数据(格式为:"?str=String&str2=String2"):str和str2为变量名,String和String2为要发送的值. 其他与Get差不多. 下面是一个发送并接收username和password的Demon,先创建一个.html文件,名称随意,代码如下: <body>

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,今天说的其实是一个比较细节的问题,先看一