【问题标题】:Access Controller function from AJAX in Laravel 4Laravel 4 中 AJAX 的访问控制器功能
【发布时间】:2014-07-25 13:51:30
【问题描述】:

我是 Laravel 的新手,即使我是 PHP 的新手。我正在尝试通过 AJAX 访问控制器功能,这将返回一些数据。每次我运行 AJAX 时都会显示 404 错误。我不确定我做错了什么。以下是我的代码:

routes.php(现在)

Route::get('/about' , 'HomeController@gtn');
Route::get('test' , array('as' => 'test', 'uses' => 'HomeController@test'));

Controller(HomeController.php) 有这些功能:

 public function test()
   {
        return 'Testing dude!!';
   }
    public function gets()
    {
        $data['stt'] = Mein::getstate();
        return View::make('/about',$data);
    }
    public function gtn()
    {           
        $data['shw'] = Mein::getCity();
        return View::make('/about',$data);
    }

我的 AJAX 调用(现在):

 $.ajax({
    url:'{{route("about")}}',
    type:'GET',
    // data:'soni'
  });

我想访问HomeControllertest 功能。我查看了来自浏览器的调用,它显示 404。

【问题讨论】:

    标签: php jquery ajax laravel-4


    【解决方案1】:
    var redirect_url = 'about';
            $.ajax({
        type: 'GET',
        url: 'about',
        data: { 'facilityid' : y , 'status' : val }
    }).done(function () {
        window.location.href = redirect_url;
    });
    
    Route::get('about' , array('as' => 'about', 'uses' => 'HomeController@gtn'));
    

    【讨论】:

      【解决方案2】:

      你不直接调用控制器(绝对不是那样!),但是你调用一个 url,或者更好的是一个路由(Laravel 有命名路由,使用它们很好):

      $.ajax({
       url:'{{route("about")}}',  // or url: '{{url("about")}}'
       type:'GET',
       success: function(rxp){
         // handle response here
         // es. $('#mydiv').html(rxp);
        }
      });
      
      
      Route::get('about' , array('as' => 'about', 'uses' => 'HomeController@gtn'));
      

      编辑:

      我想访问 HomeController 的测试功能

      然后为 test() 方法创建一个路由:

      Route::get('test' , array('as' => 'test', 'uses' => 'HomeController@test'));
      

      评论后更新:

      我给了你刀片语法来猜测你在模板文件中使用它的位置。如果要使用刀片,请将文件重命名为 filename.blade.php。否则使用php:

       url:'<?php echo route("about");?>',
      

      【讨论】:

      • @user3708421 编辑您的帖子并显示您的新代码,女巫给您 403
      • 查看您的页面源代码 - 调用了什么 URL?
      • @Kryten : 被调用的 url 是 : GET mediat.com/%7B%7Broute(%22about%22)%7D%7D
      • @user3708421 查看更新的答案,该网址不正确,因为您没有使用刀片作为模板引擎(我以为您是)...
      猜你喜欢
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2023-03-14
      • 2013-07-05
      • 1970-01-01
      • 2014-02-02
      相关资源
      最近更新 更多