js基础升级6

1.ajax异步请求
发送get请求

<script type="text/javascript">
// 定义XMLHttpRequest对象
// 参数:无
// 返回值:XMLHttpRequest对象实例
function createXMLHTTPObject(){
var XMLHttpFactories = [// 兼容不同浏览器和版本的创建函数数组
    function () {return new XMLHttpRequest()},
    function () {return new ActiveXObject("Msxml2.XMLHTTP")},
    function () {return new ActiveXObject("Msxml3.XMLHTTP")},
    function () {return new ActiveXObject("Microsoft.XMLHTTP")},
];
var xmlhttp = false;
for (var i = 0; i < XMLHttpFactories.length; i ++ ){
//尝试调用匿名函数,如果成功则返回XMLHttpRequest对象,否则继续调用下一个
    try{
        xmlhttp = XMLHttpFactories[i]();
    }catch (e){
        continue;             // 如果发生异常,则继续下一个函数调用
    }
    break;                     // 如果成功,则中止循环
}
return xmlhttp;                 // 返回对象实例
}

var xmlHttp = createXMLHTTPObject();

function request(url){
xmlHttp.open("GET",url, false);
xmlHttp.onreadystatechange = handleStateChange;    
xmlHttp.send(null);
alert(xmlHttp.responseText);
}

function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
    if (xmlHttp.status == 200 || xmlHttp.status == 0)
    {
        alert(xmlHttp.responseText);
    }
}
}

window.onload = function()
{
var b = document.getElementsByTagName("input")[0];
b.onclick = function(){
    var url = "server.asp?callback=functionName"
    request(url);
}   
}
</script>

发送post请求

function request(url)
{
    xmlHttp.open("POST",url, false);
//这里添加请求的表头,表示的传递的是表单值,并且这个请求类型还可以为text/xml或者application/xml类型给服务器发送xml数据,甚至可以用application/json发送javascript对象。
xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');    
xmlHttp.send("callback=functionName");
alert(xmlHttp.responseText);
}

2.终止请求
abort()方法调用之前,要先清除onreadystatechange事件处理函数,但是如果直接为null,可能就会出错,最好是写成空函数的形式。

xmlHttp.onreadystatechange = function(){};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值