javascript - 当我需要 POST 时使用 GET 的 window.location.href

标签 javascript ajax

我有以下脚本,从底部向上几行我有一个 window.location.href,它通过地址栏发布我的表单的结果。这非常困惑,我想使用 POST 而不是 GET,有人有什么想法吗?

<script language="javascript">
function OnChangedUsername()
{
  if(document.signup.newuserid.value == "")
  {
    document.signup.btnCheckAvailability.disabled = true;
  }
  else
  {
    document.signup.btnCheckAvailability.disabled = false;
  }
}
function createRequestObject() {
  var ro;
  var browser = navigator.appName;
  if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    ro = new XMLHttpRequest();
  }
  return ro;
}

var http = createRequestObject();

function sndReq() {
  http.open('get', 'password_check.asp?emailaddress=<%Response.Write(emailaddress)%>&check=<%Response.Write(check)%>&password_check='+document.signup.newuserid.value);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function handleResponse() {
  if(http.readyState == 4){
    var response = http.responseText;
    var update = new Array();

    if(response.indexOf('|' != -1)) {
      update = response.split('|');
      document.getElementById("username_chk").innerHTML = update[0];


      if(document.getElementById("username_chk").innerHTML == "Ok") {
        window.location.href='detailsupdate.asp?username=<%Response.Write(sUsername)%>&check=<%Response.Write(check)%>&EmailAddress='+document.signup.EmailAddress.value+'&Address='+document.signup.Address.value+'&Address1='+document.signup.Address1.value+'&Address2='+document.signup.Address2.value+'&City='+document.signup.City.value+'&PostalCode='+document.signup.PostalCode.value+'&Country='+document.signup.Country.value+'&WorkPhone='+document.signup.WorkPhone.value+'&HomePhone='+document.signup.HomePhone.value+'&MobilePhone='+document.signup.MobilePhone.value+'&FaxNumber='+document.signup.FaxNumber.value+'&AlternativePhone='+document.signup.AlternativePhone.value+'&OO='+document.signup.OO.checked+'&Workshop='+document.signup.Workshop.checked+'&Raised='+document.signup.Raised.checked+'&Ground='+document.signup.Ground.checked+'&pd='+document.signup.newuserid.value+'&Tram='+document.signup.Tram.checked;
      }
    }
  }
}
</script>

最佳答案

发出 POST 请求并将响应直接呈现到浏览器窗口中的唯一方法是使用表单(使用 DOM 生成)并提交它(同样可以通过 DOM 执行此操作)。

另一种方法是使用 XMLHttpRequest(或其他 Ajax 技术)并使用 DOM 呈现响应。

关于javascript - 当我需要 POST 时使用 GET 的 window.location.href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325358/

相关文章:

jquery - 我想在单击按钮时在 DataTable 中填充数据,默认情况下它应该显示没有可用数据

javascript - Ember CLI "Blueprint"用于创建插件

javascript - 当我在浏览器上按回时如何重置单选按钮

javascript - 当达到第 3 方 API 的速率限制时,jQuery/AJAX 设置超时

python - 适用于 Google App Engine 应用程序的任何好的 AJAX 框架?

html - Firefox 缩放自己的网站

javascript - polymer :用复杂的观察器观察阵列突变

javascript - Facebook 如何处理他们的 onbeforeunload 确认对话框?

javascript - jquery数据不解析值html5数据自定义属性

javascript - 这是一种常见的模式吗? (返回数据而不是返回 promise )