使用laravel 5锚点标签onClick不能使用ajax

时间:2016-03-09 05:36:41

标签: jquery ajax laravel-5

在我的页面上,一个锚标签就是那个锚标签我已经指定了一个名为state的类,当我点击锚标签时它没有重定向到所需的页面,在控制台中我看到我的查询正在运行。这是我的ajax

 <script>
 $(document).ready(function() {
$('a.state').click(function(event){
   event.preventDefault();
   var link = $(this).attr('id');
    //alert(link); 
        $.ajax({
           type: "GET",
           url: 'property_details/{state}',
           dataType: "json",
           data: {id: link}
        });
 });
});
</script>

这是我的路线

Route::get('property_details/{state}', array('as' => 'property_details', 'uses' => 'PageController@property_details'));

这是我的控制器

  public function property_details() {
    $filter = Input::get('id');
    $view = DB::table('property_details')
    ->leftJoin('agent_registration_details','property_details.state', '=', 'agent_registration_details.state')
    ->where('property_details.state', 'LIKE', '%' . $filter . '%')
    ->get();
        //return Response::json($view);
          //var_dump($view);
        return View::make('pages/property_details', array('row'=>$view));
    }  

1 个答案:

答案 0 :(得分:0)

尝试将您的网址改为

url: "{{url('property_details')}}/"+link,

和控制器

public function property_details($filter) {
    $view = DB::table('property_details')
    ->leftJoin('agent_registration_details','property_details.state', '=', 'agent_registration_details.state')
    ->where('property_details.state', 'LIKE', '%' . $filter . '%')
    ->get();
        //return Response::json($view);
          //var_dump($view);
        return View::make('pages/property_details', array('row'=>$view));
    }  

或:

url: 'property_details',

路线

Route::get('property_details', array('as' => 'property_details', 'uses' => 'PageController@property_details'));

注意:如果您正在使用dataType: "json"返回json,如果不删除它

注意2:您需要在ajax中使用成功函数:

$.ajax({
           type: "GET",
           url: "{{url('property_details')}}",
           dataType: "json",
           data: {id: link}
           success:function(data){
             $('body').append(data);//you may change this
           }
        });