java

导航

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("");

  }

  }

  }

分享到

您可能感兴趣的文章