如果我使用Laravel的Route,我可以使用普通方法进行ajax调用吗?

时间:2017-01-15 22:23:52

标签: php laravel routing routes

使用laravel路由时,我用这种方式编写链接:

mywebsite.com/category/product

但是要调用ajax,我想改为:

mywebsite.com?author=&article=

对于_POST然后

mywebsite.com/php/includes/dostuff.php

(以前的链接只是示例)

2 个答案:

答案 0 :(得分:1)

如Laravel API文档中所述,您可以执行类似的操作 $query = $request->query();
获取所有url查询($ _GET)项。

来源:https://laravel.com/api/5.3/Illuminate/Http/Request.html#method_query

希望这有帮助

答案 1 :(得分:1)

在进行ajax调用时,你只需要使用普通路由。有很多方法可以解决它,有两种简单的方法:

如果您没有对'/'页面或路线发出任何其他发布请求,请设置'/'(主页或根页)的发布路线以瞄准控制器。< / p>

Route::post('/', 'AjaxController@WhatEverMethod');

如果您已经有其他发布请求路由指向('/'),那么您可以使用if语句查看请求是否为Ajax,如果是,则使用Ajax控制器,否则使用您的普通控制器。

我的第二个简单解决方案是设置一个专用路由来处理您的Ajax调用,例如:

Route::any('/Ajax/', 'AjaxController@index');

 public function index(Request $request)
        {
            if($request->ajax()){
                return "Is an ajax call..";
            }
            return "Is not an ajax call";
        }

你应该没有理由轻易解决这个问题,Checkout laracasts,这可能会给你一个良好的开端。