$ .easyAjax «Uncaught TypeError: Illegal invocation» отправка данных формы лезвия laravel - PullRequest
0 голосов
/ 27 февраля 2019

Я искал и видел связанный ответ, но ни один из них не подходит для моего случая. На самом деле, я отправляю данные формы с файлами на сервер, используя easyAjax из бланка бланка laravel. Ниже приведен мой код.

        {!! Form::open(['id'=>'createTemplate','class'=>'ajax-form','method'=>'POST', 'files' => true, 'enctype'=>'multipart/form-data']) !!}

        <div class="form-body">
            <h3 class="box-title">@lang('modules.campaign_list.templateDetail')</h3>
            <hr>
            <div class="row">
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.templateName')</label>
                        <input type="text" name="template_name" id="template_name" class="form-control">
                    </div>
                </div>
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.cc') @lang('modules.campaign_list.optional')</label>
                        <input type="text" name="cc" id="cc" class="form-control">
                        {{--<select class="select2 m-b-10 select2-multiple " multiple="multiple"--}}
                                {{--data-placeholder="Choose Contact" name="contact_id[]" id="contact_id">--}}
                            {{--@foreach($contacts as $contact)--}}
                                {{--<option value="{{$contact->id}}">{{$contact->first_name }} {{$contact->last_name}}</option>--}}
                            {{--@endforeach--}}
                        {{--</select>--}}

                        {{--<input type="text" name="contacts_id[]" id="contact-name" class="form-control select2">--}}
                    </div>
                </div>
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.bcc') @lang('modules.campaign_list.optional')</label>
                        <input type="text" name="bcc" id="bcc" class="form-control">
                    </div>
                </div>
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.subject')</label>
                        <input type="text" name="subject" id="subject" class="form-control">
                    </div>
                </div>
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.body')</label>
                        <textarea type="text" name="template_body" id="template_body" class="form-control"></textarea>
                    </div>
                </div>
                <div class="col-md-12 ">
                    <div class="form-group">
                        <label>@lang('modules.campaign_list.attachment') @lang('modules.campaign_list.optional')  </label>
                        <input type="file" name="attachment" id="attachment" class="form-control" multiple="multiple">
                    </div>
                </div>
                <!--/span-->
            </div>
        </div>
        <div class="form-actions">
            <button type="button" id="save-form" class="btn btn-success"><i
                        class="fa fa-check"></i> @lang('app.save')</button>
            <button type="reset" class="btn btn-default">@lang('app.reset')</button>
        </div>
        {!! Form::close() !!}

Ниже приведен код AJAX

 $('#save-form').click(function () {
    var file = $('#attachment').val();
    var formData = new FormData($('form')[0]);
    // var body = bodyText.document.getBody().getText();
    bodyText.updateElement();
    $.easyAjax({
        url: '{{route('admin.templates.store')}}',
       // container: '#createTemplate',
        type: "POST",
        // redirect: true,
        dataType: 'json',
        data: formData,
        contentType: false,
        processData: false,
        success: function(response){
            if(response.status == 'success'){
                alert(response);
                $(".ti-close").trigger('click');
                showData();
            }

        }
    })
});

Когда я нажимаю кнопку «Сохранить» в форме для отправки, я получаю следующую ошибку

jquery.js:9208 Uncaught TypeError: Illegal invocation
at e (jquery.js:9208)
at Ab (jquery.js:9208)
at Function.n.param (jquery.js:9208)
at Function.ajax (jquery.js:9208)
at Function.$.easyAjax (helper.js:144)
at HTMLButtonElement.eval (eval at globalEval (jquery.js:9208), 
<anonymous>:7:11)
at HTMLButtonElement.dispatch (jquery.js:9208)
at HTMLButtonElement.r.handle (jquery.js:9208)

Что я делаю неправильно и чтовызывает эту ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...