控制器没有从laravel的路线获得id

时间:2014-10-25 13:05:41

标签: php ajax laravel

正在使用laravel开发一个php应用程序。当我试图使用ajax调用将值从视图传递给控制器​​时。我在路由中遇到问题这是我的路由代码

  Route::post('AssetdetailsController/postPositions/{id}', array('as'=>'post_form','uses' => 'Controllers\Admin\AssetdetailsController@postPosition'));

我正在尝试在javascript警报中传递路由值,并获得一个空警报框。

这是我的ajax电话

$(document).ready(function() { 
    $('#asset_type_id').change(function() {
        // alert($('#asset_type_id option:selected').val());
        var id = $('#asset_type_id option:selected').val();     
        $.ajax({
            type: 'POST',
            url: '{{ URL::route('post_form') }}',
            data: id,
            cache: false,
            success: function(data)
            {
            alert(data);
                check(data);
            },
            error: function(xhr, textStatus, thrownError) {
                alert('Something went to wrong.Please Try again later...');
            }
        });
    });
});     

这是我的控制器

public function postPosition($id)   {

            $positions = DB::table('asset_types')->where('id', '=', $id )->pluck('is_nesd');

            return  $positions;

    }

我试着通过警告框检查我在id中获得的值

public function postPosition($id)   {

                return  $id;

        }

我在警告框中输出{id}。

我还尝试在查询中手动传递值而不是$ {id}并且iam获得正确的输出

 public function postPosition($id)  {

                $positions = DB::table('asset_types')->where('id', '=', 1 )->pluck('is_nesd');

                return  $positions;

        }

所以现在我的问题是如何从视图中正确获取$ {id}的值。

1 个答案:

答案 0 :(得分:0)

嗨,我终于得到了我所做的答案

在ajax函数中,我的旧代码是

  url: '{{ URL::route('post_form') }}', 

我改为

 url:  '{{ action("postPositions", " ") }}'+id,

这个正常工作