通过单击一个按钮,我想使用 javascript/jquery 将一大块 HTML(例如表单) append 到我的 blade 文件中。 这样做的最佳方法是什么?
像这样(只是一部分):
<div class="form-group col-md-3 ">
<input placeholder="Váha (kg)" id="package-weight" type="text"
class="form-control required {{ $errors->has('package-weight') ? ' is-invalid' : '' }}"
name="package-weight" value="{{ old('package-weight') }}">
@if ($errors->has('package-weight'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('package-weight') }}</strong>
</span>
@endif
</div>
最佳答案
这可以通过 AJAX 请求来完成,如下所示:
$.get("/example", function(data){
$("body").append(data.html);
}
您的路由 /example
需要关联一个 Controller 或基本函数,以返回包含您要呈现的 HTML 的 JSON 响应:
Route::get("/example", "Controller@example");
public function example(){
$view = view("example")->render();
return response()->json(["html" => $view], 200);
}
// OR
Route::get("/example", function(){
... // Same $view/return as example()
});
然后,您的 .blade
文件 (example.blade.php
) 需要包含您的 HTML。
view()
的->render()
函数立即返回生成的.blade
文件的HTML,通过response()->json()
允许您的 JS 函数操作从服务器返回的 html。
关于javascript - 如何使用 javascript/jquery 将大的 html block append 到 Blade 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52668712/