首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在控制器中发送Ajax数据

如何在控制器中发送Ajax数据
EN

Stack Overflow用户
提问于 2017-11-18 15:33:06
回答 1查看 73关注 0票数 1

我想根据他目前的位置向游客推荐他附近的酒店。我的问题是如何获得未登录用户的纬度和经度,以便我可以推荐他附近的酒店。

home.blade.php

代码语言:javascript
复制
    <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:

代码语言:javascript
复制
public function geo()
{
    return view('home');

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

在这里,我在控制台的home.blade.php页面中获得了纬度和经度,.But现在进入了控制器

路由:

代码语言:javascript
复制
Route::get('/geo', 'ProductController@geo');

Route::get('/getgeo', 'ProductController@getCoordinate');
EN

回答 1

Stack Overflow用户

发布于 2017-11-18 15:43:01

更改以下几点:

代码语言:javascript
复制
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');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47363709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档