jQuery到PHP $ .post不会在页面上回显任何内容,而是将数据回显到jQuery

时间:2018-09-11 13:44:46

标签: php jquery ajax post echo

PHP和jQuery“ $ .post”造成麻烦。我将一些变量发布到PHP文件中。

jQuery是:

navigator.geolocation.getCurrentPosition(saveGeoLocation);
function saveGeoLocation(position) {
   var latitude = position.coords.latitude;
   var longitude = position.coords.longitude;   

   $.post("__g.php", { 
      latitude: latitude, 
      longitude: longitude 
   }).done(function(data) {
      console.log("Data Loaded: " + data);
   });

}

PHP是:

$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
echo "Position output: " . $latitude . $longitude;

控制台通过jQuery发送的所有信息正确显示了回显。但是,在页面本身上,PHP-echo只是在引号内显示​​内容,而不是在变量内容内显示。

PHP位于单个文件中,但可以通过include()导入到更大的文件中。

(这是一个简化的示例,可能有错字。)

感谢您的智慧!

----------编辑--------:

我的问题可能是基于菜鸟的错误。是否可以包含一个php文件,并同时向其发送数据,以便将其输出到您想要的位置?喜欢:

<somehtml>
<somejquery> *--> is retrieving Geolocation-coordinates and posting long/lat to "__g.php"*

<?php
    <somephp>
    include("__g.php"); *--> is echoing the full API-url containing the long/lat values from the jQuery-post*
    <someforeach> *--> for the received API-json*
?>

1 个答案:

答案 0 :(得分:0)

更改以下内容:

   $.post("__g.php", { 
  latitude: latitude, 
  longitude: longitude 
  }).done(function(data) {
     console.log("Data Loaded: " + data);
  });

   $.ajax({
       url: "__g.php",
       type: "POST",
       dataType "text",
       data: {
          latitude: latitude, 
          longitude: longitude
       },
       success: function(data) {
         console.log("Data Loaded: " + data);
       },
       error: function(data) {
          console.log("Error: an error occurred somewhere");
       } 
  });

从以下位置更改您的php代码:

$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
echo "Position output: " . $latitude . $longitude;

if (isset($_REQUEST['latitude']) && isset($_REQUEST['longitude'])) {
   $latitude = $_REQUEST['latitude'];
   $longitude = $_REQUEST['longitude'];

   print "Position output: " . $latitude . $longitude;
} else {
    header('HTTP/1.1 500 Internal Server');
    header('Content-Type: application/json; charset=UTF-8');
}