经常用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%>

浙公网安备 33010602011771号