总结关于原生的ajax以及jQuery的ajax的编写和使用

前端 专栏收录该内容
1 篇文章 0 订阅

总结关于原生的ajax以及jQuery的ajax的编写和使用

一、原生ajax

1.创建异步对象
    var XHR=null;
    if (window.XMLHttpRequest) {
        XHR = new XMLHttpRequest();   // 非IE内核
    } else if (window.ActiveXObject) {
        XHR = new ActiveXObject("Microsoft.XMLHTTP");  // IE内核
    } 
2.使用open方法设置和服务器的交互信息。     //设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数用?号连接
    if(XHR){
        XHR.open("GET", "ajaxServer.action");  //建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选的参数,是否异步,用户名,密码
3.发送请求
        XHR.send();
        
4.注册事件 onreadystatechange 状态改变就会调用
        //接收到服务端响应时触发
        XHR.onreadystatechange = function () {		//每当readyState值变化时就会调用一次这个方法
            // readyState值说明
            // 0,未初始化,XHR对象已经创建,还未执行open
            // 1,服务器连接已建立,已经调用open方法,但是还没发送请求即没调用send()方法
            // 2,请求已接收,调用send方法,未接收到响应。
            // 3请求处理中,已经接收到部分响应数据
            // 4,读取完成

            // status值说明
            // 200:成功
            // 404:没有发现文件、查询或URl
            // 500:服务器产生内部错误
            if (XHR.readyState == 4 && XHR.status == 200) {
                // 这里可以对返回的内容做处理
                // 一般会返回JSON或XML数据格式
                console.log(XHR.responseText);
                // 主动释放,JS本身也会回收的
                XHR = null;
            }
        };
    }

2.jQuery的ajax:
jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

$(selector).load(URL,data,callback);
$("#div1").load("demo_test.txt #p1");
$.ajax({
	type:请求方式,
	contentType:默认值: "application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。,
	url:发送请求的地址。,
	data:发送到服务器的数据。将自动转换为请求字符串格式。
	success:function(){    //成功发送之后的执行方法
	}
	error:function(){  、//出现错误的执行方法
	}
});

下面的是指定了请求方法类型的两种常用的ajax请求

$.get(URL,callback);    //必需的 URL 参数规定您希望请求的 URL。可选的 callback 参数是请求成功后所执行的函数名。
$.post(URL,data,callback);		//必需的 URL 参数规定您希望请求的 URL。可选的 data 参数规定连同请求发送的数据。可选的 callback 参数是请求成功后所执行的函数名。

记住ajax默认为异步的,当需要ajax整个过程执行之后再执行的事件时,要设置其为非异步的,添加async:false的属性。ajax总体还是很强大的,这只是介绍了日常常用的几种方法。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值