簡體   English   中英

如何在重新加載的頁面中顯示為ajax響應

[英]How can i display as ajax-response in a reloaded page

我在AJAX請求中遇到以下情況:

function getFileContens(OBJ) {
  var file = OBJ.id;
  PARAMS = "Action=getFileContens";
  PARAMS = PARAMS + "&File=" + OBJ.id;
  var probenZahl = file.split("__")[4];
  document.getElementById("inpProbenAnzahl").value = probenZahl;
  //setSessionValue(document.getElementById("inpProbenAnzahl"));
  try {
    if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
      req = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
      alert("Ihr Webbrowser unterstuetzt leider kein Ajax!");
    }
    //alert(PARAMS);
    req.open("POST", "./php/ajax/Eingabe.php", true);
    req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    req.onreadystatechange = function() {
      cbGetFileContens();
    };
    req.send(PARAMS);
  } catch (e) {
    alert("Fehler: " + e);
  }
}

function cbGetFileContens() {
  if (4 == req.readyState) {
    if (200 != req.status) {
      alert("Fehler " + req.status + ": " + req.statusText);
    } else {

      //alert(req.responseText);
      var ar_resp = req.responseText.split(";;;");
      for (let i = 0; i < ar_resp.length; i++) {
        ar_inp = ar_resp[i].split("##");
        if (ar_inp[0].trim().length > 2) {
          if (document.getElementById(ar_inp[0].trim())) {
            document.getElementById(ar_inp[0].trim()).value = ar_inp[1];
          }

        }
      }
      location.reload();
      //console.log("Hallo");
      console.log(req.responseText);
    }
  }
}

此代碼應在HTML文件中帶有某些ID的文本字段中顯示拆分的響應文本...我想在重新加載頁面后使用Ajax-response文本。如果不重新加載頁面,一切正常。 。使用重新加載時不會顯示文本。

您可以將響應存儲到會話存儲中。

sessionStorage.setItem('ajax_response', req.responseText)
location.reload();

之后,在加載頁面時,可以將項目放入元素中。

var el = document.getElementById('elemId')
el.innerText = sessionStorage.getItem('ajax_response')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM