2017-11-18 82 views
1

我想根據他的當前位置向訪客推薦他附近的酒店。我的問題是如何不登錄用戶的經緯度,以便我可以推薦他附近的酒店。如何發送控制器中的Ajax數據

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> 

我在控制了空 控制器:

public function geo() 
{ 
    return view('home'); 

} 
public function getCoordinate(Request $request) 
{ 
    return $request->latitude; 
} 

這裏我現在越來越在控制檯經度和緯度home.blade.php頁。但得到控制器

路線:

Route::get('/geo', '[email protected]'); 

Route::get('/getgeo', '[email protected]'); 
+0

有你的回報功能 – kunal

+0

您可以選擇使用自己的IP地址,使用中的地理位置呼應之前的所有請求數據。你可以計算出他現在的位置。你不需要用戶登錄。例如。就像手機中的谷歌地圖一樣。它用於使用GPS/IP地址獲取位置。希望你明白 –

+0

回聲'getgeo'正在接受的價值 – jeff

回答

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', '[email protected]'); 
+0

我沒有東西,只有空白頁 –

+0

試圖改變路線「得到任何看到」我更新的答案 – kunal

+0

仍然不工作 –

相關問題