• 16-08-2022, 15:19:44
    #1
    Merhaba dostlar.

    Bir formum var ve bu formada ki veriler back-end'e jquery ile gönderiliyor.
    $.ajax({
                type: "POST",
                url: "/admin/actions/diploma.php",
                data: $(this).serialize() + "&action=add",
                dataType: "json",
                beforeSend: function () { $(".btn-add").prop("disabled", true).text("Ekleniyor..."); },
                success: function (response) {
                    if (response.type === "success") {
                        $(".add-diploma")[0].reset();
                        $("#a_student").html($("#a_student").html());
                        $(".diploma-table").load(" #datatable-editable", function(){ $('#datatable-editable').dataTable(); });
                    }
                    toastr[response.type](response.text);
                    $(".btn-add").prop("disabled", false).text("Ekle");
                },
                error: function(e) {
                    toastr["error"]("Beklenmedik bir hata oluştu.");
                }
    yukarıda ki örnekteki gibi.
    text inputlar da sorun yok ama file de dosya yükleme işlemlerini yapmama rağmen çalışmıyor, çalışmamasını sebebi ise dosya adı ve uzantısını çekemiyor olması.

    Ücretli/Ücretsiz yaptırmak istiyorum. Yardımcı olacak hocalarım iletişime geçebilir mi? Anydesk üzerinden bağlantı sağlayabiliriz.
  • 16-08-2022, 15:22:10
    #2
    Post a action eklenmez zaten serialize olarak gidiyor.
  • 16-08-2022, 15:25:24
    #3
    eycreative adlı üyeden alıntı: mesajı görüntüle
    Merhaba dostlar.

    Bir formum var ve bu formada ki veriler back-end'e jquery ile gönderiliyor.
    $.ajax({
                type: "POST",
                url: "/admin/actions/diploma.php",
                data: $(this).serialize() + "&action=add",
                dataType: "json",
                beforeSend: function () { $(".btn-add").prop("disabled", true).text("Ekleniyor..."); },
                success: function (response) {
                    if (response.type === "success") {
                        $(".add-diploma")[0].reset();
                        $("#a_student").html($("#a_student").html());
                        $(".diploma-table").load(" #datatable-editable", function(){ $('#datatable-editable').dataTable(); });
                    }
                    toastr[response.type](response.text);
                    $(".btn-add").prop("disabled", false).text("Ekle");
                },
                error: function(e) {
                    toastr["error"]("Beklenmedik bir hata oluştu.");
                }
    yukarıda ki örnekteki gibi.
    text inputlar da sorun yok ama file de dosya yükleme işlemlerini yapmama rağmen çalışmıyor, çalışmamasını sebebi ise dosya adı ve uzantısını çekemiyor olması.

    Ücretli/Ücretsiz yaptırmak istiyorum. Yardımcı olacak hocalarım iletişime geçebilir mi? Anydesk üzerinden bağlantı sağlayabiliriz.
    Merhaba,

    formData kullanmanız lazım ajax ile file göndermeye çalışıyorsanız. Bu şekilde göndermez.
  • 16-08-2022, 15:47:36
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    formData kullanmanız lazım ajax ile file göndermeye çalışıyorsanız. Bu şekilde göndermez.
    Hocam şimdi anladım, size PM gönderdim.
  • 17-08-2022, 12:31:57
    #5
    Örnek kod php ve toastr olmadığı için test edemedim ama post ediyor.

    form'da enctype="multipart/form-data" kullanılacak

    $.ajax 'da contentType ,processData ,formData kullanılacak. QueryString verileri url'ye eklenecek (/admin/actions/diploma.php?action=add ) gibi...

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    
    <form id="burayaFormIdYaz" method="post" enctype="multipart/form-data">
        <input type="text" name="ad" value="Ömer" />
        <input type="text" name="soyad" value="Soyadım" />
        <input type="text" name="telefon" value="05331234567" />
        <input name="cv" type="file" />
        <button>Gönder</button>
    </form>
    
    <script>
        $("#burayaFormIdYaz").submit(function (e) {
            e.preventDefault();
            var formData = new FormData(this);
            $.ajax({
                cache: false,
                contentType: false,
                processData: false,
                type: "POST",
                url: "/admin/actions/diploma.php?action=add",
                data: formData,
                dataType: "json",
                beforeSend: function () { $(".btn-add").prop("disabled", true).text("Ekleniyor..."); },
                success: function (response) {
                    if (response.type === "success") {
                        $(".add-diploma")[0].reset();
                        $("#a_student").html($("#a_student").html());
                        $(".diploma-table").load(" #datatable-editable", function () { $('#datatable-editable').dataTable(); });
                    }
                    toastr[response.type](response.text);
                    $(".btn-add").prop("disabled", false).text("Ekle");
                },
                error: function (e) {
                    toastr["error"]("Beklenmedik bir hata oluştu.");
                }
            });
        });
    </script>
    • eycreative
    eycreative bunu beğendi.
    1 kişi bunu beğendi.