使用AJAX将数据发送到控制器

时间:2015-02-15 13:50:23

标签: php jquery laravel web blade

我是Ajax的新手,我正在使用laravel,现在我想要一个删除按钮,将要删除的项目的ID发送到控制器。这是我的代码。

浏览

<div class="row">
@foreach($photos as $photo)
  <div class="col-xs-3 col-md-1">
    <button onclick="removeItem({{$photo->id}}); return false;">Delete</button>   
  </div> 
@endforeach
</div>

这是我的剧本

<script type="text/javascript">
function removeItem($myvar) {
  $.ajax({
    type : "POST",
    url : "deletephoto",
  );}
}
</script>

我想将此发送到此路线

Route::post('deletephoto','GamefarmsController@deletephoto');
在我的控制器上

我想这样做只是为了测试它是否正常工作

public function deletephoto()
{
    dd($myvar);
}

2 个答案:

答案 0 :(得分:0)

您必须将变量$ myvar添加到$ .ajax()函数的data-property中:

$.ajax({
    type: "POST",
    url: "deletephoto",
    data: { myvar: $myvar }
})

然后在您的控制器中,您可以使用以下命令获取此变量的值:

Input::get('myvar'); // for Laravel 4.x
Request::input('myvar'); // for Laravel 5

答案 1 :(得分:0)

试试这个:

<script type="text/javascript">
function removeItem(myvar) {
$.ajax({
    type : "POST",
    url : "deletephoto",
    data: { 'myvar' : myvar },
    success: function(res) {
        console.log(res);
    }
)};
}
</script>

在routes.php文件中:

Route::post('deletephoto', array(
    'as' => 'deletephoto',
    'uses' => 'GamefarmsController@deletephoto');
));

在您的控制器中:

public function deletephoto() {
    //dd($myvar);
    return Input::get('myvar');
}

这将返回传递的变量,并将其发送回AJAX调用,然后在控制台中输出。

最后:

<button onclick="removeItem({{$photo->id}});">Delete</button>