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