AJAXpost方式提交
来源 :中华考试网 2020-11-26
中GET访问 浏览器 认为 是等幂的
就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]
所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第 一次访问的结果
POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)
防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的]
设计WEB页面的时候 也应该遵守这个原则
楼主可以在url后面加时间,随机数。
这个可能就是ajax的一个优化处理
post比get方式提交的数据量大 大约几M,而get大约几K
function createXMLHttpRequest() {
if(window.XMLHttpRequest) {
XMLHttpReq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
function sendRequest(url) {
createXMLHttpRequest();
XMLHttpReq.open("POST", url, false);
XMLHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XMLHttpReq.onreadystatechange = processResponse;
var sendData = "name="+getValue("name")+"&reference="+getValue("reference");
XMLHttpReq.send(sendData);
}
function processResponse() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var res=XMLHttpReq.responseText;
window.alert(res);
window.opener.top.bas.document.getElementById("command").value="initVisualization";
window.opener.top.bas.document.forms[0].submit();
} else {
alert("
}
}
}