如何使用javascript / jquery将大型html块追加到刀片文件?

时间:2018-10-05 15:15:31

标签: javascript jquery laravel append laravel-blade

通过单击按钮,我想使用javascript / jquery将一大段HTML(例如,表单)附加到刀片文件中。  最好的方法是什么?

类似这样的东西(只是一部分):

            <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>

2 个答案:

答案 0 :(得分:1)

这可以通过AJAX请求来完成,如下所示:

$.get("/example", function(data){
  $("body").append(data.html);
}

您的路线/example需要具有一个关联的Controller或基本函数,该控制器或JSON函数返回一个JSON响应,其中包含要呈现的HTML:

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。

->render()的{​​{1}}函数立即返回view()文件的生成的HTML,并通过.blade返回该文件,从而使您的JS函数可以处理从服务器。

答案 1 :(得分:0)

jQuery是客户端, 刀片是服务器端。

所以...你不能。

但是您可以使用jQuery(当然是客户端)来操纵刀片的HTML结果。