【问题标题】:send Php variables to javascript using AJAX [duplicate]使用 AJAX 将 PHP 变量发送到 javascript [重复]
【发布时间】:2018-09-19 10:43:50
【问题描述】:

我有两个 PHP 变量,我想使用 AJAX 传递给 javascript。

test.php

$Longitude = json_encode($Long);
$Latitude =  json_encode($Lat);

索引.js

$.ajax({
  type: 'POST',
  dataType: "json",
  url:'test.php',
  data:
  success: function(data)
  {
    console.log("testing");
  }
});

我是编程新手。请指导如何在 ajax 调用中引用这些变量名。

【问题讨论】:

    标签: javascript php ajax


    【解决方案1】:

    传入数组并对其进行编码。

    test.php

    $data = ['Longitude ' =>$Long, 'Latitude ' => $Lat ];
    
    echo json_encode($data);
    

    index.js

     $.ajax({
      type: 'POST',
      dataType: "json",
      url:'test.php',
      data:
      success: function(data)
      {
       try {
          data = JSON.parse(data);
        }catch(e) {}
        console.log(data);
      }
    });
    

    【讨论】:

    • 我相信语法是完全正确的。它仍然给我一个缺少的 } 语法错误。
    【解决方案2】:

    您需要回显要访问的变量,以便 javascript 能够读取它们。

    在 test.php 中尝试这样的事情:

    $data = ['lat' => $lat, 'lon' => $lon];
    echo json_encode($data);
    

    然后在index.js中成功函数:

    console.log(data);
    

    【讨论】:

      【解决方案3】:

      将您的 php 变量设置为两个隐藏的文本框。如下所示。

      <input type="hidden" name="Longitude" id="Longitude" />
      <input type="hidden" name="Latitude" id="Latitude" />
      

      现在将这两个字段名都输入到 javascript 中。如下所示。

      var lats = $("#Longitude").val();
      var longs = $("#Longitude").val();
      

      现在将上述数据传递到您的 ajax 调用中。如下所示。

      $.ajax({
        type: 'POST',
        dataType: "json",
        url:'test.php',
        data:{ lats:lats,longs:longs},
        success: function(data)
        {
          console.log("testing");
        }
      });
      

      【讨论】:

      • 用户希望通过 AJAX 将这些变量传递到他们的页面中,而不是将这些变量直接包含在页面中。
      猜你喜欢
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 2012-11-23
      • 2016-07-20
      相关资源
      最近更新 更多