【发布时间】:2017-07-09 01:18:10
【问题描述】:
更新
为了避免所有关于 ajax 调用的调试和问题,我在控制器中创建了一个索引方法,只有一个 echo 'hey!',但仍然得到相同的东西:
app.url/blocktest 给我一个hey,但更改为 app.url/pictures,注释掉一条路线并取消注释另一条路线给我一个404 错误。
更新和
我正在使用 laravel(5.4 版)构建我的第一个应用程序,但是在使用裁剪上传图像的过程中,我的路线(最初是照片)开始出现 404 错误,经过数小时的调试后我什么也没得到,所以改变路线,它开始工作,然后又被阻塞了,所以我有点困惑,我想我真的没有在这里得到什么。我的实际路线:
Route::resource('partners', 'PartnersController');
//Route::resource('pictures', 'PicturesController');
Route::resource('blocktest', 'PicturesController');
这样一切正常,我的 ajax 发布到我的 PicturesController 并且一切顺利,这是控制器功能:
public function store(Request $request)
{
// echo 'hey';
$requests = request()->file('picture');
foreach ($requests as $picture) {
$filename = time() . '.' . $picture->getClientOriginalExtension();
$path = public_path('pictures/' . $filename);
Image::make($picture->getRealPath())->crop(600, 600)->save($path);
$picture = new Picture;
$picture->partner_id = $request['partner_id'];
$picture->src = $filename;
$picture->save();
}
}
但如果我将路线更改为:
Route::resource('partners', 'PartnersController');
Route::resource('pictures', 'PicturesController');
// Route::resource('blocktest', 'PicturesController')
尝试使用 pictures 并将 ajax 指向新路由,我从 nginx 得到 404。
这是php artisan route:list的结果
+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | partners | partners.index | FrutoProibido\Http\Controllers\PartnersController@index | web |
| | POST | partners | partners.store | FrutoProibido\Http\Controllers\PartnersController@store | web |
| | GET|HEAD | partners/create | partners.create | FrutoProibido\Http\Controllers\PartnersController@create | web |
| | GET|HEAD | partners/{partner} | partners.show | FrutoProibido\Http\Controllers\PartnersController@show | web |
| | PUT|PATCH | partners/{partner} | partners.update | FrutoProibido\Http\Controllers\PartnersController@update | web |
| | DELETE | partners/{partner} | partners.destroy | FrutoProibido\Http\Controllers\PartnersController@destroy | web |
| | GET|HEAD | partners/{partner}/edit | partners.edit | FrutoProibido\Http\Controllers\PartnersController@edit | web |
| | GET|HEAD | pictures | pictures.index | FrutoProibido\Http\Controllers\PicturesController@index | web |
| | POST | pictures | pictures.store | FrutoProibido\Http\Controllers\PicturesController@store | web |
| | GET|HEAD | pictures/create | pictures.create | FrutoProibido\Http\Controllers\PicturesController@create | web |
| | GET|HEAD | pictures/{picture} | pictures.show | FrutoProibido\Http\Controllers\PicturesController@show | web |
| | PUT|PATCH | pictures/{picture} | pictures.update | FrutoProibido\Http\Controllers\PicturesController@update | web |
| | DELETE | pictures/{picture} | pictures.destroy | FrutoProibido\Http\Controllers\PicturesController@destroy | web |
| | GET|HEAD | pictures/{picture}/edit | pictures.edit | FrutoProibido\Http\Controllers\PicturesController@edit | web |
+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+
我认为这是一种非常奇怪的行为,但也许我只是什么都没看到。
谢谢!
【问题讨论】:
标签: php nginx laravel-5 routes laravel-5.4