Перед отправкой и загрузкой не работает в ajax jquery

может ли кто-нибудь помочь мне в этой проблеме, и я пробую много способов, но beforeSubmit и uploadProgrss не работает

$.ajax({
    url:"include/ajaxPages/admin/insertNewItem.php",
    type:"POST",
    data:new FormData(this),
    processData:false,
    contentType:false,
    beforeSubmit:function(){
        $(this).find(".progress").width("0%");
    },
    uploadProgress:function(event,position,total,complete){
        $(this).find(".progress").animate({
            width: complete+"%"
        },{
            duration:1000 
        })
    },
    success:function(data){
        console.info(data);
        alert("تم الاضافه بنجاح");
        $(".loadingViedo").fadeOut();
        window.location = document.URL;
    }
})

Насколько мне известно, beforeSubmit (и, вероятно, uploadProgress) не являются частью метода jQuery ajax. Вы пытаетесь использовать обработчики, которые являются частью ajaxForm - см. Здесь -> malsup.com/jquery/form

Reinstate Monica Cellio 03.08.2018 14:52

в чем разница между $ .ajax и ajaxform, я думаю, что у ajaxform нет параметра url, поэтому как сохранить файл в базе данных в форме ajax

mahmoud el zanklony 03.08.2018 15:06
$.ajax() является частью jQuery. $.ajaxForm() - это сторонний плагин. Если вам нужно что-то, что предлагается в ajaxForm, вам нужно использовать ajaxForm.
Reinstate Monica Cellio 03.08.2018 15:07

У формы есть URL-адрес в атрибуте action (или он может / должен делать). Атрибуты формы должны сообщать ajaxForm все, что ему нужно знать. Просто используйте $("#formId").ajaxForm() для отправки формы с идентификатором formId. Примеры на странице, на которую я указал, показывают очень простые способы его использования. Попробуйте :)

Reinstate Monica Cellio 03.08.2018 15:15

Спасибо, мой друг

mahmoud el zanklony 03.08.2018 17:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
147
1

Ответы 1

Попробуй это:

var fd = new FormData();
fd.append('rName', $('#upload-resource .upload').attr('data-name'));
fd.append('rfile', $('#upload-resource .upload').attr('data-file'));

$.ajax({
            url: 'include/ajaxPages/admin/insertNewItem.php',
            data: fd,
            processData: false,
            contentType: false,
            type: 'POST',
            xhr: function () {  // custom xhr
                myXhr = $.ajaxSettings.xhr();
                if (myXhr.upload) { // if upload property exists
                    myXhr.upload.addEventListener('progress', function (e) {
                        var done = e.position || e.loaded
                        var total = e.totalSize || e.total;
                        var percent = Math.round(done / total * 100);
                        //console.info('xhr progress: ' + percent + '%');

                        $(this).find(".progress").animate({
                        width: percent +"%"
                           },{
                              duration:1000 
                           });
                    }, false);

                    myXhr.addEventListener('load', function (e) {
                        //upload done
                    });


                    $('#upload-resource .cancel').show().click(function () {
                        //cancel upload
                        myXhr.abort();
                    });
                }
                return myXhr;
            },
            success: function (data) {
                //to do for success result
            }
        });

та же проблема друг

mahmoud el zanklony 03.08.2018 17:25

Этот код работает у меня без проблем. Вы можете сказать мне, что происходит, когда вы его запускаете? Любая ошибка или предупреждение в консоли вашего браузера? Можете ли вы войти в некоторые части кода, чтобы узнать, где проблема, которая не работает?

Majid Akbari 08.08.2018 20:31

Другие вопросы по теме