猿问

PHP 显示在错误的页面上

我最近在做一个网站项目。因此,我有一个包含所有 html 代码的 website.php、一个 function.php 和 saveArray.js。在 website.php 中,我正在打印一个底部有一个按钮的 html 表格。通过单击按钮,我将进入 saveArray.js,我将所有表数据保存在一个数组中。


有了这个代码


var arrString = JSON.stringify(tableData);  

var request = new XMLHttpRequest();

   request.open('post', 'function.php', true);

   request.setRequestHeader('Content-Type', 'application/x-www-form- 

   urlencoded');

   request.send('daten=' + arrString);

我将 JS 数组发布到 function.php。在 function.php 中,我对数组进行了处理,并在 if 语句中显示了一个模态。


模态本身有效,但我想在 website.php 页面上显示它。这不会发生,因为我目前在 function.php 上。


我该如何解决这个问题?


编辑:在我的数组中是一个 ID,我想检查这个 ID 是否已经在我的数据库中。根据这个结果,我想显示模态并在必要时上传数据。所有检查都在 function.php 中进行


慕运维8079593
浏览 248回答 2
2回答

阿波罗的战车

我想你想在当前页面('website.php')的 function.php 中注入你的函数返回的字符串(模态 PHP 代码)。为此,您必须在请求完成时注入 XMLHttpRequest 给出的响应。假设我们要添加其中的所有内容  xhttp.onreadystatechange = function() {    if (this.readyState == 4 && this.status == 200) {      document.getElementById("demo").innerHTML =      this.responseText;    }  };

泛舟湖上清波郎朗

看,您没有处理请求的响应。所以处理响应。并从 function.php 恢复请求的状态,如果保存了数据,则打开模型。您无需转到 function.php 页面。看代码   var xhttp = new XMLHttpRequest();          xhttp.onreadystatechange = function() {            if (this.readyState == 4 && this.status == 200) {             // this is response of the request  //now check it             //Suppose you returned " data saved" as response from function.php             if(this.responseText='data saved'){            //Open model here    }            }          };          xhttp.open("POST", "function.php", true);          xhttp.send();
随时随地看视频慕课网APP
我要回答