一些简单的Ajax应用实例使用说明

这篇博文主要通过一个简单的Ajax应用来解析一下Ajax技术的原理。
首先需要三个文件,simpleAjax.hml(用来看效果),simpleAjax.js(用JavaScript中的XMLHttpRequest对象来直接与服务器进行通信),simpleAjax.txt(可以自定义异步通信输出内容的文件)。

1 新建simpleAjax.html文件

 代码如下 复制代码

<html><head><title>一个简单的Ajax应用</title><script type="text/javascript" src="simpleAjax.js"></script></head><body><input type="button" value="Ajax请求" onclick="startrequest()"/><div id="responseResult"></div>  </body></html>

2 新建simpleAjax.js文件

 代码如下 复制代码

var xmlhttp=null;//首先创建一个作为 XMLHttpRequest 对象使用的 xmlhttp 变量,值设为 null
function createXMLHttpRequest(){
if (window.XMLHttpRequest)
 
  {xmlhttp=new XMLHttpRequest();//针对 IE7+, Firefox, Chrome, Opera, Safari
  }
else if (window.ActiveXObject)
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");//针对 IE6, IE5
  }
}

function startrequest(){//由simpleajax.html中的按钮点击调用这个函数
createXMLHttpRequest();//调用上面createXMLHttpRequest()函数
xmlhttp.onreadystatechange=handlestatechange;//调用下面handlestatechange()函数
xmlhttp.open("GET","simpleAjax.txt",true);
xmlhttp.send();
}

function handlestatechange(){
  if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("responseResult").innerHTML=xmlhttp.responseText;
}
}

名称解释:

2.1 第一个函数 createXMLHttp() 的作用是根据客服端浏览器类型(IE和非IE)以及IE中安装的JavaScript技术版本的不同创建不同的XMLHttpRequest对象。XMLHttpRequest对象用于在后台与服务器交换数据。它能够:在不重新加载页面的情况下更新网页、在页面已加载后从服务器请求数据、在页面已加载后从服务器接收数据、在后台向服务器发送数据。

2.2 其中 xmlhttp.onreadystatechange 表示每当存有xmlhttprequest的状态信息的readyState改变时,就会触发 这个onreadystatechange 事件。当 readyState 等于 4 且状态为 200 时,表示响应已就绪。

2.3 其中 xmlhttp:open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) 表示创建一个新的http请求(bstrUrl),并指定此请求的方法(get,post)、URL以及varAsync布尔型,指定此请求是否为异步方式,默认为true即当状态改变时会调用onreadystatechange属性指定的回调函数。

2.4 其中 xmlhttp.send() 表示发送请求到http服务器并接收回应。

3 新建simpleajax.txt文件
任意在这个txt文件里面写入内容,例如: hello,i have changed myself! 。

上面都是ajax原生态的写法,下面我们来看个jquery的做法

jQuery Ajax 实例 ($.ajax、$.post、$.get)

$.post、$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()

 一、$.ajax的一般格式

 代码如下 复制代码

$.ajax({

     type: 'POST',

     url: url ,

    data: data ,

    success: success ,

    dataType: dataType

});

 

二、$.ajax的参数描述

参数描述 
url  必需。规定把请求发送到哪个 URL。
data  可选。映射或字符串值。规定连同请求发送到服务器的数据。
success(data, textStatus, jqXHR)  可选。请求成功时执行的回调函数。
dataType  可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。
 

 三、$.ajax需要注意的一些地方:

  1.data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的;通过dataType指定,不指定智能判断。

  2.$.ajax只提交form以文本方式,如果异步提交包含<file>上传是传过不过去,需要使用jquery.form.js的$.ajaxSubmit

 代码如下 复制代码

//1.$.ajax带json数据的异步请求
var aj = $.ajax( { 
    url:'productManager_reverseUpdate',// 跳转到 action 
    data:{ 
             selRollBack : selRollBack, 
             selOperatorsCode : selOperatorsCode, 
             PROVINCECODE : PROVINCECODE, 
             pass2 : pass2 
    }, 
    type:'post', 
    cache:false, 
    dataType:'json', 
    success:function(data) { 
        if(data.msg =="true" ){ 
            // view("修改成功!"); 
            alert("修改成功!"); 
            window.location.reload(); 
        }else{ 
            view(data.msg); 
        } 
     }, 
     error : function() { 
          // view("异常!"); 
          alert("异常!"); 
     } 
});

//2.$.ajax序列化表格内容为字符串的异步请求
function noTips(){ 
    var formParam = $("#form1").serialize();//序列化表格内容为字符串 
    $.ajax({ 
        type:'post',     
        url:'Notice_noTipsNotice', 
        data:formParam, 
        cache:false, 
        dataType:'json', 
        success:function(data){ 
        } 
    }); 

//3.$.ajax拼接url的异步请求
var yz=$.ajax({ 
     type:'post', 
     url:'validatePwd2_checkPwd2?password2='+password2, 
     data:{}, 
     cache:false, 
     dataType:'json', 
     success:function(data){ 
          if( data.msg =="false" ) //服务器返回false,就将validatePassword2的值改为pwd2Error,这是异步,需要考虑返回时间 
          { 
               textPassword2.html("<font color='red'>业务密码不正确!</font>"); 
               $("#validatePassword2").val("pwd2Error"); 
               checkPassword2 = false; 
               return; 
           } 
      }, 
      error:function(){} 
});

//4.$.ajax拼接data的异步请求
$.ajax({  
    url:'<%=request.getContextPath()%>/kc/kc_checkMerNameUnique.action',  
    type:'post',  
    data:'merName='+values,  
    async : false, //默认为true 异步  
    error:function(){  
       alert('error');  
    },  
    success:function(data){  
       $("#"+divs).html(data);  
    }
});

时间: 2024-11-03 19:48:51

一些简单的Ajax应用实例使用说明的相关文章

非常简单的Ajax请求实例附源码

Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术.通过Ajax,您可以使用 JavaScript的XMLHttpRequest对象来直接与服务器进行通信.您可以在不重载页面的情况与 Web 服务器交换数据.在本文的例子中,我们将演示当用户向一个标准的HTML表单中输入数据时网页如何与web服务器进行通信. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo

ajax简单与ajax+php实例应用(1/4)

[ajax介绍] ajax是使用客户端脚本与web服务器交换数据的web应用开发方法.web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用ajax,用户可以创建接近本地桌面应用的直接.高可用.更丰富.更动态的web用户界面. 异步网页特效和xml(ajax)不是什么新技术,而是使用几种现有技术--包括级联样式表(css教程).网页特效.xhtml.xml和可扩展样式语言转换(xslt),开发外观及操作类似桌面软件的web应用软件. [ajax执行原理] 一个ajax交互从一个称为xml

js实现简单实用的AJAX完整实例_AJAX相关

本文实例讲述了js实现简单实用的AJAX的方法.分享给大家供大家参考,具体如下: //版权归属 WUJXPING //ajax 1.2 //更新2012-2-20 //1.异步数据加载可以进行加载方式get,post的设定 //2.异步同步模式的属性设定 //3.数据加载自动超时设置 //4.***数据加载事件的添加,通过事件可以进行服务器数据的实时处理 //5.增加回调函数中用户自定义参数this.e //6.增加ajax反复提交控制,只需将ajax对象定义为全局变量,每次提交都会进行等待上次

AJAX教程实例,ASP+AJAX+ACCESS数据库应用教程(附源码)

access|asp+|数据|数据库|ajax教程 AJAX教程实例[阿里西西原创]  其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(javascript)与服务端(asp或php等)脚本语言的数据交互. 看完本篇ajax实例教程,我相信你也可以轻松做出一个初级的AJAX应用. 你也可以直接访问:http://www.alixixi.com/web/web/ajax/jiaocheng.html预览此篇ajax教程的源码示例. 好,下面我们就始一步步让你了解AJAX+ASP基础应用

很好的一个ajax分页实例

  样式可以自定义,调用简单,直接看实例了,效果图如下:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>

使用jquery实现简单的ajax

本篇文章是对用jquery实现简单的ajax的实现方法进行了详细的分析介绍,需要的朋友参考下   -->html页 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w

AJAX应用实例之检测用户名是否唯一(实例代码)

先给大家展示下效果图,然后再给大家撸代码,效果图如下所示: 下面写一个简单的例子,检测用户名是否唯一(直接撸代码): 前端界面: <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transition

jquery ajax 应用实例代码

jquery ajax 应用实例代码 /*  ajax 向页面发送数据                 $.post('save.cgi', {     text: 'my string',     number: 23 }, function() {     alert('your data has been saved.'); });   如果您确实需要编写一些复杂的 ajax 脚本,那么需要用到 $.ajax() 函数.您可以指定 xml.script.html 或者 json,jquer

原生JS简单实现ajax的方法示例_javascript技巧

本文实例讲述了原生JS简单实现ajax的方法.分享给大家供大家参考,具体如下: HTML部分: <body> <input type="button" value="Ajax提交" onclick="Ajax();" /> <div id="resText" ></div> </body> 这里有个input按钮,点击会触发click事件,click事件调用Ajax(