Javascript Php不获取Ajax的发送值
所以我向php发送了这个ajax请求:Javascript Php不获取Ajax的发送值,javascript,php,ajax,Javascript,Php,Ajax,所以我向php发送了这个ajax请求: $.ajax({ url: "php/getInfo.php", type: 'POST', dataType: 'json', data: { lat: 51.4818048, log: -0.5275648 }, success: function(result) { console.log(result); if
$.ajax({
url: "php/getInfo.php",
type: 'POST',
dataType: 'json',
data: {
lat: 51.4818048,
log: -0.5275648
},
success: function(result) {
console.log(result);
if (result.status.name == "ok") {
}
},
error: function(jqXHR, textStatus, errorThrown) {}
})
这是php:
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
$executionStartTime = microtime(true) / 1000;
$url=`https://api.opencagedata.com/geocode/v1/json?q=` . $_REQUEST['lat'] . `+` . $_REQUEST['log'] . `MY API KEY`;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
curl_close($ch);
$decode = json_decode($result,true);
$output['status']['code'] = "200";
$output['status']['name'] = "ok";
$output['status']['description'] = "mission saved";
$output['status']['returnedIn'] = (microtime(true) - $executionStartTime) / 1000 . " ms";
$output['data'] = $decode['geonames'];
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($output);
?>
我替换了我拥有的API密钥,问题在于我得到的数据密钥的响应为空
我知道这可能是一个愚蠢的问题,我提前道歉。如果在PHP脚本中硬编码lat/log值,它会运行吗?您是否尝试过转储$\u请求变量以查看结果?你有没有试过在
数据:{lat:'51.4818048',log:'-0.5275648'}等值周围加引号
所以我给出了硬编码的值,但在应用程序中,我使用了一个函数,从其他地方获取值,但值就是这样。为了简单起见,我只给出了硬编码的值,所以我没有给出太多的代码。我将它们转换为字符串,但仍然为空。旁注:(microtime(true)-$executionStartTime)/1000
似乎是错误的。开始时,$executionStartTime
已经除以1000,所以这里基本上是减去不同数量级的值。我相信你想要microtime(true)/1000-$executionStartTime
。当你转储$result
时,你得到了什么?谢谢El_Vanja,它让结果更有意义!“倾倒”是什么意思?