【问题标题】:Route is working when referred but when I go to that provided link it will not find the controller function in laravel路由在引用时工作,但是当我转到提供的链接时,它不会在 laravel 中找到控制器功能
【发布时间】:2022-01-14 20:36:17
【问题描述】:

我添加了一个自定义函数来保存图片并添加了路线,当我引用路线时它确实有效,但是在访问它时会出现错误,即无法找到该函数并出现反射异常错误 ReflectionException

Function () does not exist

控制器

/**
*    show the form for uploading profile picture 
*    
*   @return \Illuminate\Http\Response 
*/
public function changePicture()
{

    return view('usersinformation.profilepicture');
}

路由 -- web.php

Route::get('usersinformation/changePicture',[usersinformationController::class, 'changePicture'])->name('usersinformation.changePicture');
Route::post('usersinformation/savePicture', 'usersinformationController@savePicture');

【问题讨论】:

  • 能否请您粘贴完整的错误信息
  • 您没有在POST 路由中使用正确的控制器。尝试与 GET 相同的方法 --- [usersinformationController::class, 'savePicture']
  • @BhaumikPandhi 使用类似的字符串作为路由在所有版本中仍然是正确的语法
  • @BhaumikPandhi 当我按照你所说的那样使用上面的方法时,它在路径解析期间不会出错,但是当向函数发送请求时它不会找到路径。

标签: ajax laravel laravel-5


【解决方案1】:

通过添加以下路线解决了问题。

Route::get('usersinformation/saveePicture', [
'as' => 'usersinformation.savePicture',
'uses' => 'usersinformationController@savePicture'

]);

【讨论】:

    【解决方案2】:

    你应该将此行添加到 web.php 文件的上面。

    使用 App\Http\Controllers\usersinformationController;

    (如果您的控制器在默认路径中) 但如果您的控制器路径不同,您应该修改并将路径添加到代码中。

    【讨论】:

    • 控制器在默认路径中
    • 然后在 web.php 文件的上方添加此代码。使用 App\Http\Controllers\usersinformationController;然后测试它。
    • 我已经找到了答案并更新了它。谢谢。
    猜你喜欢
    • 2016-06-22
    • 1970-01-01
    • 2016-12-01
    • 2013-03-13
    • 1970-01-01
    • 2011-03-29
    • 2017-06-09
    • 1970-01-01
    • 2014-10-14
    相关资源
    最近更新 更多