InertiaJS 表单响应以模式打开,带有快速缓存控制消息
InertiaJS Form Responses opening in Modal, with a quick Cache-Control Message
一天的大部分时间都在为这个问题苦苦挣扎,但我没有找到太多相关信息。
这只是一个带有一些 Laravel 验证的简单表单组件,它只是通过闪现消息发出 API 请求和 returns 错误或成功。这一切都以相当简单的方式记录在案。
但是,无论是错误还是成功,Inertia returns 每次都会在模态中重定向。
代码如下:
Form Component (React)
function handleSubmit(e) {
e.preventDefault()
setSending(true)
Inertia.post('/shop/quote-request', formValues, {
onFinish: setSending(false),
})
}
Controller
public function standardSubmit(Request $request): string
{
$form = $this->validate($request, [
'companyName' => 'required|max:50',
'name' => 'required|max:50',
'email' => 'required|email:rfc,dns',
'phoneNumber' => 'required'
]);
if (empty($request['comments'])) {
$comments = 'No Content';
} else ($comments = $request['comments']);
try {
Zendesk::tickets()->create([
'subject' => 'Subject',
'recipient' => 'email@email.com',
'email_cc_ids' => '',
'tags' => 'mtsps-tag',
'requester' => [
'email' => $form['email'],
'name' => $form['name']
],
'comment' => [
'html_body' =>
"Company Size: " . $request['size']
. "</br></br>" . "Message: " . $comments
],
'group_id' => 'xxxxxxxxx',
'priority' => 'normal'
]);
} catch (\Throwable $th) {
return Redirect::route('shop.quote_request')->with('error', 'Something went wrong, please try again.');
}
return Redirect::route('shop.quote_request')->with('success', 'Your message has been delivered, someone will be in touch soon.');
}
而我确实不明白的部分:在组件重新呈现之前在模式中呈现的文本。
非常感谢这里的任何帮助,如果我遗漏了什么,很乐意回答任何问题或提供任何进一步的细节。
我很确定这是您的控制器方法的 return 类型。它设置为 string
而不是 Illuminate\Http\RedirectResponse
- 应该在你 remove/replace 之后工作。 :)
一天的大部分时间都在为这个问题苦苦挣扎,但我没有找到太多相关信息。
这只是一个带有一些 Laravel 验证的简单表单组件,它只是通过闪现消息发出 API 请求和 returns 错误或成功。这一切都以相当简单的方式记录在案。
但是,无论是错误还是成功,Inertia returns 每次都会在模态中重定向。
代码如下:
Form Component (React)
function handleSubmit(e) {
e.preventDefault()
setSending(true)
Inertia.post('/shop/quote-request', formValues, {
onFinish: setSending(false),
})
}
Controller
public function standardSubmit(Request $request): string
{
$form = $this->validate($request, [
'companyName' => 'required|max:50',
'name' => 'required|max:50',
'email' => 'required|email:rfc,dns',
'phoneNumber' => 'required'
]);
if (empty($request['comments'])) {
$comments = 'No Content';
} else ($comments = $request['comments']);
try {
Zendesk::tickets()->create([
'subject' => 'Subject',
'recipient' => 'email@email.com',
'email_cc_ids' => '',
'tags' => 'mtsps-tag',
'requester' => [
'email' => $form['email'],
'name' => $form['name']
],
'comment' => [
'html_body' =>
"Company Size: " . $request['size']
. "</br></br>" . "Message: " . $comments
],
'group_id' => 'xxxxxxxxx',
'priority' => 'normal'
]);
} catch (\Throwable $th) {
return Redirect::route('shop.quote_request')->with('error', 'Something went wrong, please try again.');
}
return Redirect::route('shop.quote_request')->with('success', 'Your message has been delivered, someone will be in touch soon.');
}
而我确实不明白的部分:在组件重新呈现之前在模式中呈现的文本。
非常感谢这里的任何帮助,如果我遗漏了什么,很乐意回答任何问题或提供任何进一步的细节。
我很确定这是您的控制器方法的 return 类型。它设置为 string
而不是 Illuminate\Http\RedirectResponse
- 应该在你 remove/replace 之后工作。 :)