Ajax PHP将变量放入字符串中以进行API调用

Ajax PHP将变量放入字符串中以进行API调用,php,ajax,Php,Ajax,我已阅读并尝试实施我在web上找到的所有解决方案,但到目前为止,我无法使其发挥作用,因此,是时候寻求帮助了: 我向我的PHP文件发送以下Ajax调用: $.ajax({ url: "libs/php/geolocate.php", type: 'POST', dataType: 'json', data: { lat: $lat,

我已阅读并尝试实施我在web上找到的所有解决方案,但到目前为止,我无法使其发挥作用,因此,是时候寻求帮助了:

我向我的PHP文件发送以下Ajax调用:

        $.ajax({
            url: "libs/php/geolocate.php",
            type: 'POST',
            dataType: 'json',
            data: {
                lat: $lat,
                lon: $lon
            },

这将调用php文件中的以下调用:

$result = $geocoder->geocode( '51.952659, 7.632473' );
一切正常,但我接下来要做的是用我在ajax调用中发送的coords替换预先格式化的coords。 这就是我失败的地方,我尝试了各种方法来注入lat和lon,包括以前项目中的逻辑:
$\u REQUEST['lat']
,似乎没有任何效果

有人能告诉我需要使用什么格式吗

非常感谢

编辑var_dump()输出:


C:\wamp64\www\geonamesExample\libs\php\geologite.php:2:
数组(大小=0)
空的
{“结果”:[{“资料来源”:“opencage”,“格式化”:“Friedrich Ebert Straße 7,48153 Munster,德国”,“几何学”:{“lat”:51.9526599,“lng”:7.632473},“国家代码”:“DE”,“时区”:“欧洲\/柏林”,“道路信息”:{“路边”:“右侧”,“速度”:“km\/h”},“货币”:{“名称”:“欧元”,“符号”:“}}```

您可以使用
$\u POST['lat']
$\u POST['lon']

$result = $geocoder->geocode( $_POST['lat'] . ', ' . $_POST['lon']);

通常php会自动传递带有标题的变量

应用程序/x-www-form-urlencoded

要使用当前设置检索值,您需要使用

php://input

更多信息请点击这里


请在接收的PHP脚本中运行
var\u dump($\u REQUEST)
,并将输出添加到问题中。感谢您的回复,jack解决了下面的问题,但感谢您提供有关错误查找的指导。
您需要使用php://input
不,他没有。
$result = $geocoder->geocode( $_POST['lat'] . ', ' . $_POST['lon']);
$data = file_get_contents('php://input') ;

var_dump($data); // associative array with your variables