Ajax JS 中的Ajax jquery中的Ajax

Ajax  (Asynchronous Javascript And XML)  通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

1、Ajax的优势:

  不需要插件的支持,能被大多数主流浏览器支持

  优秀的用户体验,不用刷新整个页面,就能更新数据

  提高web程序的性能,通过XMLHttpRequest对象向服务端提交所需的数据

  

2、Ajax的核心: XMLHttpRequest 对象, 发送异步请求、接收相应 、执行回调 都是通过它来进行。

3 ajax 请求过程:(JS)

  创建 XMLHttpRequest 对象、连接服务器、发送请求、接收响应数据;

1、创建XMLHttpRequest对象:

复制代码

var xhr = function createXhr(){
                  if(window.ActiveXObject){ //IE5 IE6
                    return new window.ActiveXObject("Microsoft.XMLHttp");
                  }else if(window.XMLHttpRequest){  //IE7 以上 及 其他浏览器
                    return new XMLHttpRequest();
                  }else{
                    alert("您的浏览器不兼容,换一个");
                    return null;
                  }
                }

复制代码

2、准备向服务端发请求,open()

复制代码

          if(xhr!=null){    
              //如果实例化成功,就调用open()方法,就开始准备向服务器发送请求
            xhr.open("post", url, true);            
            /*三个参数:第一个是发送请求的类型,POST 和GET 两种
                      第二个是url的地址,(地址也可以是静态文件,xml文件)
                      第三个,是否是异步,true是 异步。false 是同步*/
          }

复制代码

3、回调函数的处理(数据接收的处理)

xhr.onreadystatechange = processResponse; //指定响应函数  

            function processResponse() { 
              
            }

4、发送,

xhr.send();  //

注意几个书写的顺序:

复制代码

 var xhr = createXMLHttpRequest();
      xhr.open("GET","test.jsp",true);
      xhr.OnreadyStateChange = function(){
          if(xhr.readyState==4&&xhr.status==200){
            //通过responseXML和responeText来获取信息      
            var doc = xhr.responseXML;//responseXML只能获取XML格式
            (var doc = xhr.responseText)


          }
      }
      xhr.send();

复制代码

 

2、jquery中AJax的实现

1、load();直接为包装器创建,

$("#content").load(url,[data](数据,可省略),[callback](回调函数,可省略));
如果有第二个,按照POST 方式发送,如果没有 用 GET 方式发送。

//表示将01 html文件中 id是 test的元素 加载到 content中
 $('#content').load("01.html #test");

                

 

2、$.get();

$.get(url,[data](数据,可省略),[callback](回调函数,可省略));

3、$.getJson()

 

4、$.post()

 

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

一、$.ajax的一般格式

按 Ctrl+C 复制代码

 

按 Ctrl+C 复制代码

 

 

二、$.ajax的参数描述

参数 描述

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

可选。规定预期的服务器响应的数据类型。

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

 

三、一些:

复制代码

//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("异常!");  
     }  
});

在提交中,如果有表单,把表单添加到参数data中,有很多,很麻烦,jquery 提供了 serialize()方法,能将DOM元素序列化为一个字符串
//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);   
    }
});

复制代码

 

JQuery 中设置AJAX 的全局函数

复制代码

var $doc = $(document);
$doc.ajaxComplete(function(event,xhr,options){
    var str_timeout = xhr.responseText;
    if ("session_timeout" === str_timeout) {
        window.top.location = rootPath + "/system/login/login.jsp";
    } 
});

复制代码

 

ajaxStart

在jQuery AJAX函数或命令发起时,但在XHR实例被创建之前

类型被设置为ajaxStart的全局回调信息对象

ajaxSend

在XHR实例被创建之后,但在XHR实例被发送给服务器之前

类型被设置为ajaxSend的全局回调信息对象;XHR实例;$.ajax()函数使用的属性

ajaxSuccess

在请求已从服务器返回之后,并且响应包含成功状态码

类型被设置为ajaxSuccess的全局回调信息对象;XHR实例;$.ajax()函数使用的属性

ajaxError

在请求已从服务器返回之后,并且响应包含失败状态码

类型被设置为ajaxError的全局回调信息对象;XHR实例;$.ajax()函数使用的属性;被XHR实例返回的异常对象(如果有的话)

ajaxComplete

在请求已从服务器返回之后,并且在任何已声名的ajaxSuccess或ajaxError回调函数已被调用之后

类型被设置为ajaxComplete的全局回调信息对象;XHR实例;$.ajax()函数使用的属性

ajaxStop

在所有其他AJAX处理完成以及任何其他适用的全局回调函数已被调用之后

类型被设置为ajaxStop的全局回调信息对象    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如果在jQuery.ajax()jQuery.ajaxSetup()中将选项参数global设为false,可以禁止该AJAX请求触发全局的AJAX事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值