gpt4 book ai didi

php - 将数据拉回 Blade 而不刷新

转载 作者:行者123 更新时间:2023-11-29 17:15:51 24 4
gpt4 key购买 nike

所以我对 Laravel 总体来说还很陌生,我拥有的是一个搜索表单,可以从数据库中提取信息,然后在同一页面上将其回调,目前它的工作方式类似于重定向,但我想知道如何在不刷新页面的情况下做到这一点

这是 Blade :

 <form class="form-horizontal" role="form" id="policy-documents-search-form" action="/search" method="POST">
{{ csrf_field() }}
<fieldset>

<div class="form-group">
<label for="username" class="col-sm-6 control-label">Enter your policy number</label>
<div class="col-sm-8">
<input type="text" name="ordernumber" id="ordernumber" class="form-control"/>
<span class="text-danger">{{ $errors->first('ordernumber') }}</span>
</div>
</div>

@if (session('error'))
<div class="alert alert-danger">{{ session('error') }}</div>
@endif

<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button type="submit" class="btn btn-primary" id="search-button">Search</button>
</div>
</div>

<div class="form-group">
<div class="container">
@if(isset($order))
<h2>Your Policy Details</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Claims Telephone</th>
<th>Policy Wording</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ @$order->scheme->Description }}</td>
<td>{{ @$order->scheme->ClaimsTelephone1 }}</td>
<td><a href="{{ @$order->scheme->PolicyURL }}">Policy Wording </a></td>
</tr>
</tbody>
</table>
@endif
</div>


</div>
</div>


</fieldset>
</form>

这是 Controller 功能:

public function search(Request $request) {

if ($this->validate($request, [
'ordernumber' => 'string|min:8|max:16',
], [
'ordernumber.string' => ' Please enter a full order number. This will either be 8, 12 or 16 characters long and include a 2 letter prefix.',
'ordernumber.min' => ' Please enter a full order number. This will either be 8, 12 or 16 characters long and include a 2 letter prefix.',
'ordernumber.max' => ' Please enter a full order number. This will either be 8, 12 or 16 characters long and include a 2 letter prefix.',
]));

try {
$order = Order::findOrFail(decodeFullOrderNumber($request->ordernumber));
} catch (ModelNotFoundException $exception) {
return back()->withError('We could not find this policy number in our system, please try again')->withInput();
}
return view('policy_wording', compact('order'), [
'title' => "Policy Wording Results",
]);
}

这是路线:

 Route::get('/policy-wording', 
'PolicyWordingController@policyWordingPage');
Route::any('/search', 'PolicyWordingController@search');

最佳答案

首先我建议使用 Vuejs 来实现这个目的,这样你就不用考虑如何重建你的表格等。

在服务器端,如果是ajax,您需要做的就是返回搜索结果

if ($request->isXmlHttpRequest())
return $order->toArray();

返回view()之前

关于php - 将数据拉回 Blade 而不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51631971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com