PHP отображается на неправильной странице - PullRequest
0 голосов
/ 01 июля 2019

Я недавно работаю над проектом веб-сайта. Для этого у меня есть website.php со всем html-кодом, 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.

Как я могу решить это?

РЕДАКТИРОВАТЬ: В моем массиве есть идентификатор, и я хочу проверить, есть ли этот идентификатор уже в моей базе данных или нет. В зависимости от этого результата я хочу показать модал и при необходимости загрузить данные. Вся проверка происходит в function.php

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

См., Вы не обрабатываете ответ на запрос. Таким образом, обрабатываете ответ. И перезапускаете статус запроса из 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();
0 голосов
/ 01 июля 2019

Полагаю, вы хотите вставить возвращаемую строку (модальный код PHP) вашей функцией в function.php на вашей текущей странице ('website.php'). Для этого вам нужно будет вставить ответ, данный XMLHttpRequest, когда запрос будет завершен.

Предположим, мы хотим добавить все содержимое в

  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...