передача данных localStorage на PHP - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу просматривать и манипулировать информацией Javascript localStorage на странице PHP, используя PHP. Я получил довольно далеко с этим, но я не там, где мне нужно быть. Я использую PHP 7.3 и vanilla JS.

У меня есть AJAX POST-отправка данных на страницу обработки PHP (а не ту, которая вызывает функцию javascript). Однако мне нужно получить доступ к переменной POST на странице, которая называется javascript. Как я могу передать информацию обратно без щелчка?

Список желаний на странице. php содержит ссылку на файл js и <div id="temporary_wishlist"></div>.

Javascript, вызванные из списка желаний. . php:

window.addEventListener("load", function() {
  loadWishlist();
});

// get wishlist contents
function loadWishlist() {
  var items = wishlistStorage.data.items.join("%20");
  var item_notes = wishlistStorage.data.item_notes.join("%20");
  var comments = wishlistStorage.data.comments;
  var wishlistRequest;
  var response = null;
  if(window.XMLHttpRequest) {
    wishlistRequest = new XMLHttpRequest();
  } else {
    wishlistRequest = new ActiveXObject("Microsoft.XMLHTTP");
  }
  wishlistRequest.onreadystatechange = function() {
    if(wishlistRequest.readyState == 4 && wishlistRequest.status == 200) {
      response = wishlistRequest.responseText;
      document.getElementById("temporary_wishlist").innerHTML = response;
    }
  }
  wishlistRequest.open("POST", "/wishlist-processor.php", true);
  wishlistRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  wishlistRequest.send("wishlist_items=" + encodeURIComponent(items) 
    + "&wishlist_itemnotes=" + encodeURIComponent(item_notes)
    + "&wishlist_comments=" + encodeURIComponent(comments));
}

Учитывая вышесказанное, у меня есть доступ к $_POST['wishlist_items'] внутри wishlist-processor.php. Что бы я ни выводил внутри wishlist-processor.php, это видно посетителю в списке желаний. php внутри <div id="temporary_wishlist"></div>. Однако он не отображается в консоли.

В wishlist.php я хочу загрузить информацию в переменную PHP, чтобы можно было отправить ее в запрос MySQL. Если бы я мог просто POST для себя, как я делал с проверкой формы, у меня был бы доступ к $_POST['wishlist_items'] из списка желаний. php. Я уже пытался установить URL в функции open("POST", URL, true) на _self или wishlist.php, и это не сработало для меня.

Я знаю, что предлагается использовать Fetch, но я уже ошеломлен изучением новых вещей, которые я хочу понять AJAX лучше. Кроме того, Fetch не работает на Firefox Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...