两种Ajax写法【ajax】

2023-05-25 14:35:48 浏览数 (1)

一、原生 ajax

1、无特殊要求 2、实例代码

代码语言:javascript复制
//没有用到jquery的Ajax
//将xmlHttpResquest对象方法封装起来,
var createXhr = function () {
    var xhr = null;
    if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
    } else {
        xhr = new ActiveXObject("Microsoft.XMLHtTP");
    }
    return xhr;

};


function queryCity() {

    //获取省份 pid
    var pid = document.getElementById('province').value;
    var citySel = document.getElementById('city');
    alert('pid:'   pid);
    var xhr = createXhr();
    if (xhr) {
        xhr.open('POST', 'url');
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
        xhr.onreadystatechange = function (data) {
            //省份下的城市
            if (xhr.readyState == 4 && xhr.status == StatusOk) {
                alert(data);
                var arr = JSON.parse(xhr.responseText);
                for (var i = 0; i < arr.length; i  ) {
                    var city = arr[i];
                    var id = city.id;
                    var name = city.name;
                    //创建下拉框中的<option></option>
                    var opt = new Option(name, id);
                    //加到<select>中
                    citySel.add(opt);
                }
            }
        }
    }
    //写入DataForm,并发送
    xhr.send('pid=', pid);
}

二、$.ajax

1、需要jquery,min.js 2、实例代码

代码语言:javascript复制
$.ajax({
    url:"http://www.microsoft.com",    //请求的url地址
    dataType:"json",   //返回格式为json
    async:true,//请求是否异步,默认为异步,这也是ajax重要特性
    data:{"id":"value"},    //参数值
    type:"POST",   //请求方式
    beforeSend:function(){
        //请求前的处理
    },
    success:function(req){
        //请求成功时处理
    },
    complete:function(){
        //请求完成的处理
    },
    error:function(){
        //请求出错处理
    }
});

0 人点赞