【问题标题】:How to Append large html block to blade file with javascript/jquery?如何使用 javascript/jquery 将大型 html 块附加到刀片文件?
【发布时间】:2019-03-11 03:27:19
【问题描述】:

通过单击一个按钮,我想使用 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>

【问题讨论】:

    标签: javascript jquery laravel append laravel-blade


    【解决方案1】:

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

    所以...你不能。

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

    【讨论】:

      【解决方案2】:

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

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

      您的路由 /example 需要关联一个控制器或基本函数,以返回包含您要呈现的 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()-&gt;render() 函数立即返回生成的.blade 文件的HTML,并通过response()-&gt;json() 返回它允许您的JS 函数操作从服务器返回的html。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-30
        • 2022-01-12
        • 1970-01-01
        • 2017-11-12
        • 1970-01-01
        • 2016-02-08
        • 2020-06-16
        相关资源
        最近更新 更多