wdss的blog

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

经常用jquery,都快忘记怎么用javascript实现ajax了。在这里记录一下。

 

function getXhr() {
    var xhr = false;
    if (window.XMLHttpRequest) {
        try {
            xhr = new XMLHttpRequest();
        } catch(e) {
            xhr = false;
        }
    } else if (window.ActiveXObject) {
        try {
            xhr = new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            try {
                xhr = new ActiveXObject('Microsoft.XMLHTTP');
            } catch(e) {
                xhr = false;
            }
        }
    }
    return xhr;
}

function sendajax(method) {
    var xhr = getXhr();
    if (xhr) {
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4 && xhr.status == 200) {
                alert(xhr.responseText);
            }
        };
        if (method == "POST") {
            xhr.open('POST', "http://localhost:3000/dashboard/ajaxtest?t2=test2", true);
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
            xhr.send('t1=test1');
        }
        else if (method == "GET") {
            xhr.open('GET', "http://localhost:3000/dashboard/ajaxtest?t1=test1&t2=test2", true);
            xhr.send(null);
        }
    }
}

 

如果网站有跨域提交限制,使用POST方法时要加上相应的参数。

如,在rails中,加上

<%=request_forgery_protection_token.to_s%>=<%=form_authenticity_token.to_s%>

 

 

posted on 2011-08-29 11:08  wdss  阅读(259)  评论(0编辑  收藏  举报