将变量从javascript传递到php文件

时间:2019-05-04 22:05:30

标签: javascript php ajax

我已经开发了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 :(得分:0)

我已经通过这样的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.