【发布时间】: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