【问题标题】:If I'm using Route from Laravel, can I do ajax calls using the normal method?如果我使用 Laravel 的 Route,我可以使用普通方法进行 ajax 调用吗?
【发布时间】:2017-01-15 22:23:51
【问题描述】:

当使用 laravel 路由时,我这样写我的链接:

mywebsite.com/category/product

但我想调用 ajax:

mywebsite.com?author=&article=

然后是_POST

mywebsite.com/php/includes/dostuff.php

(前面的链接只是例子)

【问题讨论】:

    标签: php laravel routing routes


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

      【解决方案2】:

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

      如果您没有对'/' 页面或路由发出的任何其他帖子请求,请为您的'/'(主页或根页面)设置帖子路由以瞄准控制器。..

      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,这可能会给您一个良好的开端。

      【讨论】:

        猜你喜欢
        • 2021-11-28
        • 2016-12-06
        • 1970-01-01
        • 1970-01-01
        • 2016-05-17
        • 1970-01-01
        • 2016-12-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多