XMLHttpRequest ajax功能

XMLHttpRequest对象创建

function createxhr()
    {
        var xhr=null;
        if(window.XMLHttpRequest)
        {
            var xhr = new XMLHttpRequest();
        }
        else if(window.ActiveXObject)
        {
            xhr = new ActiveXObject("Microsoft.XMLHttp");
        }
        return xhr;
    }

返回string对象

function state_change(url){
        var xhr = createxhrjson();
        console.log(xhr);
        xhr.open("GET",url,true);
        xhr.onreadystatechange = function(){
            if(xhr.readyState==4 &&  xhr.status == 200){
                document.getElementById("res").innerHTML = xhr.responseText;
            }
        }
    }

 ajax传值

get方式

xhr.open('get', url + '?time=' + time + ‘&username=’ + username, true);
xhr.send(null);
GET方式总结:用get方式可传送简单数据,但大小一般都限制在1KB下,数据追加到url中发送(http的header传送)。也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人可以从浏览器的历史记录中读取到客户的数据,比较帐号密码,因此get方法在某些情况下,是会带来严重的安全性问题。

post方式

var queryVal = 'time=' + time + '&username = ' + username:
xhr.open('post', url, true);
xhr.setRequstHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(queryVal);

POST总结:使用post方式时,浏览器把各表单字段及其数据作为HTTP消息实体内容发送Web服务器,而不是作为URL地址参数形式传递,所以使用post方式传递的数据量比使用get方式传递的数据量大的多。

posted @ 2014-03-19 14:32  decsev  阅读(224)  评论(0)    收藏  举报