【问题标题】:jQuery Typeahead return 404 (Not Found) in Laravel 5.4jQuery Typeahead 在 Laravel 5.4 中返回 404(未找到)
【发布时间】:2017-12-05 01:15:00
【问题描述】:

我添加到 routes/api.php

Route::get('v1/crosses.json', 'API\BasicController@crosses')

我的 front.js 包括

require('jquery-typeahead');
$.typeahead({
  input: '#search',
  source: {
    cross: {
      ajax: {
        type: "GET",
        url: 'api/v1/crosses.json',
        path: "data.crosses",
        dataType: "json",
        data: {
          term: "11"
        }
      }
    }
  }
});

Laravel 5.4 - 控制器

namespace App\Http\Controllers\API;

use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class BasicController extends Controller
{
  public function crosses(Request $request): JsonResponse
  {
   return response()->json([
        "status" => true,
        "error" => null,
        "data" => [
            "crosses" => [
               'sample'       
             ]
        ]
    ]);
  }
}

当我开始在#search 字段中写作时,我立即开始进行查询。只有他们没有达到目标。控制台发出 404 错误。我认为路由可能有问题,但在route:list 中它显示了这个请求,它也可以在浏览器中打开。仅当通过 ajax 引用时崩溃“未找到”

【问题讨论】:

  • if url: 'api/v1/crosses.json' 所以在路由Route::get('api/v1/crosses.json', 'API\BasicController@crosses')
  • 我使用 routes/api.php -> GET|HEAD | api/v1/crosses.json | |应用\Http\Controllers\API\BasicController@crosses | api |
  • 您是否已经需要您的 api 路由?或尝试在 main routes.php 中不要自定义文件路由。
  • 我转入web.php,我加了前缀/api,错误类似
  • 在问题中添加您的路线定义。

标签: php ajax api laravel-5.4 typeahead


【解决方案1】:

我正在使用 nginx。反响非常大。需要增加缓冲区的大小

fastcgi_buffers 16 256k;
fastcgi_buffer_size 256k;    

【讨论】:

    猜你喜欢
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多