我想根据他目前的位置向他推荐附近酒店的访客。我的问题是如何不登录用户的纬度和经度,以便我可以推荐他到附近的酒店。
home.blade.php
<script>
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
console.log(position);
var lat = position.coords.latitude;
var lng = position.coords.longitude;
$.ajax({
url:'http://localhost:8000/getgeo',
type:'get',
data:{latitude:lat,longitude:lng},
//even when i set some value here data:{latitude:1222323}, i did not get `1222323` in controller
success:function(data)
{
alert('success');
}
});
});
}
</script>
我在控制器中得到了null 控制器:
public function geo()
{
return view('home');
}
public function getCoordinate(Request $request)
{
return $request->latitude;
}
这里我在home.blade.php页面的控制台获取经度和经度。但现在进入控制器
路线:
Route::get('/geo', 'ProductController@geo');
Route::get('/getgeo', 'ProductController@getCoordinate');
答案 0 :(得分:1)
更改以下几点: -
change ajax url : url:'/getgeo'
And function :-
public function getCoordinate(Request $request)
{
if($request->ajax()){
$data = $request->all();
echo "<pre>"; print_r($data); // print all data here
}
}
Try to change Route:-
Route::any('/getgeo', 'ProductController@getCoordinate');