将ajax值传递给laravel控制器

时间:2016-02-18 06:14:34

标签: javascript php ajax laravel-5

这是我的ajax请求,我试图将这些值传递给laravel中的控制器

var deviceid="<?php echo $id; ?>";
var day="<?php echo $day; ?>";

$.ajax({

    'async': false,
    'global': false,
    url: '/location/show/getLocation/{id}/{date}',
    dataType: 'json',
    type: 'GET',
    data: { id:deviceid,date:day},

    success:function(data){
        myVariable=data;
        console.log(data);
    }
});

在我的控制器中,我将这些值设为

$id=$_GET['id'];
$date =$_GET['date'];
echo $id.$date;

但是值并没有在控制台中显示 谁能告诉我这个问题?

已编辑的代码

查看

<script>  
var deviceid="<?php echo $id; ?>";
var day     ="<?php echo $day; ?>";
// console.log(deviceid,day);
$.ajax({

    'async': false,
    'global': false,
    url: '/location/show/getLocation',
    dataType: 'json',
    type: 'POST',
    data: { id:deviceid,date:day},

    success:function(data){
        console.log(data);
    }
});
</script>

控制器

public function getLocation(Request $request)
{       
$id=$request->input('id');
$date=$request->input('date');
echo $id;
echo $date; exit;
}

路线

Route::post('location/show/getLocation', 'DemoController@getLocation');

1 个答案:

答案 0 :(得分:1)

在你的ajax电话中

......

var deviceid="<?php echo $id; ?>";
var day="<?php echo $day; ?>";

$.ajax({

'async': false,
'global': false,
url: '/location/show/getLocation',
dataType: 'json',
type: 'POST',
data: { id:deviceid,date:day},

success:function(data){
   var myVariable=data;
    console.log(data);
}
});

你的route.php喜欢

Route::post('location/show/getLocation/', 'demoController@getlocation');

定义您在ajax上调用的控制器名称和函数名称

现在在Controller中添加“getlocation function”。

public function getlocation(Request $request)
{       
    $id=$request->input('id');
    $date=$request->input('date');
    echo $id;
    echo $date; exit;
 }

如果您不添加此行,请不要忘记在Controller文件中添加use Illuminate\Http\Request;,然后请求方法不起作用。

如果你想要返回一些内容,那么只需将你的结果放在jason decode中,然后根据你的意愿在ajax suceess中做出响应