Передача переменных из JavaScript в PHP-файл - PullRequest
0 голосов
/ 05 мая 2019

Я работал над API (zomato), который дает мне детали ресторана. Я хочу вставить их в мою локальную базу данных, но у меня проблема с передачей переменной в PHP, потому что она слишком велика для $ _GET, чтобы справиться с ней. Я пытался использовать $ _POST, но вывод сообщения был пустым.

// JS код

function showCafes(str){
     var xhttp;
  xhttp = new XMLHttpRequest();
  console.log(str);
  xhttp.open("GET","https://developers.zomato.com/api/v2.1/search?entity_type=city&q=t&start="+str+"&count=20" , true);
  xhttp.send();
  var restaurants="";
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var r=JSON.parse(this.responseText);
 var rest ={
      name : r.restaurant[1].restaurant.name
     };
    $.post("addFromApi.php", rest);
     window.location.href="addFromApi.php";

// PHP код

<?php 
print_r($_POST);
?>

Я ожидал, что из кода PHP будет напечатано имя первого элемента в нем. // Пример вывода из API

{"results_found":1,
"results_start":0,
"results_shown":1,
"restaurants":
[{"restaurant":{
"R":{"res_id":18692654},
"id":"18692654",
"name":"East Village"}

1 Ответ

0 голосов
/ 05 мая 2019

Я решил это с помощью создания формы из js, как это

     document.getElementById("cafes").innerHTML += '<form id="rests" action="addFromApi.php" method="post"><input type="hidden" name="q" value="'+restaurants+'"></form>';
document.getElementById("rests").submit();
//resturants is the variable that I wanted to pass to php.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...