js封装ajax请求

原创 2017年10月13日 14:39:38
function ajax(d){
    var dataType= d.dataType=="jsonp"?"jsonp":((d.dataType=="json"|| d.dataType.trim())==""?"json":"f");//默认同源请求
    var type= d.type=="post"?"post":((d.type.trim()==""|| d.type=="get")?"get":"f");//默认get请求
    var url= d.url+"?";//回去请求地址,加?用于地址之后的参数连接
    for(var key in d.data){//将参数拼接到请求地址中
        url+=key+"="+d.data[key]+"&";
        console.log(d.data[key]);
    }
    url=url.slice(0,url.length-1);//将最后一个?符或者&符去掉
    if(dataType=="f"||type=="f"){//当请求方式输入错误时,返回函数
        return;
    }
    if(dataType=="json"){
        var xhr;
        if(XMLHttpRequest){
            xhr=new XMLHttpRequest();
        }else{
            xhr=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if(type=="post"){
            xhr.open("post",url.split("?")[0]);
            xhr.setRequestHeader("Content-type","application/X-WWW-form-urlencoded");
            xhr.send(url.split("?")[1]);
        }else{
            xhr.open("get",url);
            xhr.send(null);
        }
        xhr.onreadystatechange==function(){
            if (xhr.readyState == 4 && xhr.status == 200) {
                d.success(xhr.responseText);
            }
        }
        //};
    }else{
        var cbname="ajax"+new Date().getTime()+Math.random().toString().slice(2);
        window[cbname]=function(dd){
            d.success(dd);
            document.removeChild(script);
        }
        var script=document.createElement("script");
        script.src=url+"&callback="+cbname;
        document.body.appendChild(script);
    }

}


ajax({
            "dataType":"jsonp",//jsonp:跨域,json:同源
            "type":"get",//get:get请求,post:post请求
            "url":"",//地址
            "data":{//地址参数
                "format":2,
                "cityname":,
                "key":""
            },
            "success":function(data){//回调参数
                
            }
        });

js 实现对ajax请求面向对象的封装

AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。         ...

JS 和 ajax 实现网络请求 和 对应的类封装 回调函数实现

先上效果图 如下:1、使用ajax 实现网络请求 代码如下: function HttpRequest(){ // document.alert('进入这个方法'); //使用...

js函数前问号的作用 封装的mui的ajax请求函数

今天学到的一个知识,并不是很完整的,希望能帮到一些开发者解决小问题。 一.js函数前面加分的作用 总是看到网上别人发布的一些源码的函数名的前面会加上分号,就很好奇加分号的作用是什么,于是就去百度了...

项目反思--学校大学生活动中心预约系统--[JS封装Ajax请求(不同数据格式的请求头设置)]

JS封装Ajax请求 Ajax请求头设置 Ajax发送Json

Ajax发送请求js代码

  • 2015年06月23日 10:56
  • 2KB
  • 下载

js 原始ajax请求实现 struts2

  • 2011年04月27日 21:37
  • 2KB
  • 下载

原生js ajax简单封装和使用

好好学习,天天向上

MS的Ajax用(js)封装

  • 2011年01月11日 18:26
  • 844B
  • 下载

js中ajax的认识运用与封装

1.认识ajax(ajax的操作必须在服务器上运行,并且不能跨域,只能访问同域名下的其他文件)ajax基本格式 ↓↓ //ajax基本格式 var xhr = new XML...
  • gl0ry
  • gl0ry
  • 2017年03月07日 11:12
  • 175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js封装ajax请求
举报原因:
原因补充:

(最多只允许输入30个字)