如何在路线中添加部分 ID - Laravel 8

Posted

技术标签:

【中文标题】如何在路线中添加部分 ID - Laravel 8【英文标题】:How to add section ID in Route - Laravel 8 【发布时间】:2021-07-06 17:42:12 【问题描述】:

我有一个用下面的 ID 标记的 html 部分:

<section id="contactus" style="background-color: #fff">

这是一个“联系我们”,它将向管理员发送电子邮件,但我希望路由在提交表单后返回此部分

这是路线:

Route::get('/', [ContactUsFormController::class, 'createForm']);
Route::post('/', [ContactUsFormController::class, 'ContactUsForm'])->name('contact.store');

所以'/'是我的主页,发件人在那里

提交表单后如何返回到ID为“contactus”的那个部分?

控制器:

class ContactUsFormController extends Controller 

// Create Contact Form
public function createForm(Request $request) 
  return view('/#contactus');


// Store Contact Form data
public function ContactUsForm(Request $request) 

    // Form validation
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email',
        'subject'=>'required',
        'message' => 'required'
     ]);

    //  Store data in database
    Contact::create($request->all());

    //  Send mail to admin
    \Mail::send('mail', array(
        'name' => $request->get('name'),
        'email' => $request->get('email'),
        'subject' => $request->get('subject'),
        'user_query' => $request->get('message'),
    ), function($message) use ($request)
        $message->from($request->email);
        $message->to('email@eamil.com', 'Admin')->subject($request->get('subject'));
    );

    return back()->with('success', 'Thank you');



【问题讨论】:

@EsTeAa 我做到了,但没用 你不能这样。通过这样写:return view('/#contactus');,您告诉您的应用程序返回名为/#contactus.blade.php 的视图,该视图可能不存在。你应该return redirect("http://YOUR_URL.com#contactus") 你可以根据这个答案试试return redirect()-&gt;to('/test'.'/#contact');***.com/a/53888681/15070659 【参考方案1】:
Route::get('/', [ContactUsFormController::class, 'createForm'])->name(contact.create);

你可以在路由中指定一个名字

return redirect()->route(contact.create)->with('success', 'Thank you');

【讨论】:

以上是关于如何在路线中添加部分 ID - Laravel 8的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 8 上获得正确的路线

根据当前翻译的 Laravel 路线在刀片中添加“活动”类

如何在laravel中制作多条路线

Laravel - 忘记参数

未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?

在我的Laravel项目中,我的路线可能会出现问题