【问题标题】:Ajax.beginform in Laravel Blade?Laravel Blade 中的 Ajax.beginform?
【发布时间】:2017-10-03 12:05:26
【问题描述】:

我正在使用 ASP.NET Razor,并且有 Ajax.BeginForm 可以在不刷新整页的情况下发布表单。此外,它还具有所有 Ajax 选项,例如 Confirm、OnSuccess、OnFailure、OnComplete、OnBegin 等:以下是完整的详细信息:http://www.c-sharpcorner.com/UploadFile/0c1bb2/ajax-beginform-in-Asp-Net-mvc-5/

我们是否有任何可以在 Laravel Blade 中使用的与 Ajax.beginform 等效的内置类?

【问题讨论】:

    标签: laravel asp.net-mvc-4 asp.net-mvc-5 laravel-5.3 laravel-5.4


    【解决方案1】:

    有类似的东西。但是您必须自己进行 ajax 调用。您必须将illuminate/html 添加到您的包中:

    composer require illuminate/html
    

    …然后在/config/app.php注册:

    // ...
    
    'providers' => [
        Illuminate\Html\HtmlServiceProvider::class,
    ],
    
    // ...
    
    'aliases' => [
        'Html' => Illuminate\Html\HtmlFacade::class,
        'Form' => Illuminate\Html\FormFacade::class,
    ],
    

    ...然后你可以用刀片创建一个表单:

    {!! Form::open() !!}
    <!-- your fields -->
    {!! Form::close() !!}
    

    …破解你的表单,让它通过 jQuery 使用 Ajax 发送它:

    var form = $('form')
    .submit(function(e) {
        e.preventDefault();
        $.ajax({
            type: form.attr('method'),
            url: form.attr('action'),
            data: form.serialize(),
            success: function(data) {
                alert("Sent.");
            }
        });
    });
    

    【讨论】:

    • 我不想写 jquery 代码。这就是 ASP.NET MVC Razor 正在做的事情。
    • 经过检查,恐怕目前没有能够做到这一点的 Laravel 软件包。上面的 javacript sn-p 可以处理任何 &lt;form&gt; 元素。
    猜你喜欢
    • 2015-02-14
    • 2015-07-10
    • 2017-04-14
    • 1970-01-01
    • 2014-10-06
    • 2018-03-31
    • 2018-03-07
    • 1970-01-01
    • 2020-12-17
    相关资源
    最近更新 更多