مشکل در Ajax

پرسیده شده
فعالیت 1440 روز پیش
دیده شده 962 بار
0

سلام مشکلی که من دارم در مورد این مبحث این بود که اضافه کردن با فرم ajax در قسمت فولدر مشکل ساز شده

 

کد هایی ک نوشتم به این صورت هستش

 

<form action="process/folder.php" method="POST" id="form-folder">
                    <input type="text" id="nameFolder"  placeholder="نام فولدر خود را بنوسید ... " name="name">
                    <input type="text" id="labelFolder" placeholder="برچسب  فولدر خود را بنوسید ... " name="label">
                    <button id="addFolder">اضافه کردن </button>
                </form>

فایل فرم html اضافه کردن فولدر

function addFolder($name,$label){
    global $pdo;
    $currentUser = currentUser();
    $sql="INSERT INTO `tbl_folder` (`name`,`label`,`user_id`) VALUES (:name,:label,:id) ";
    $stmt=$pdo->prepare($sql);
    $stmt->execute(['name'=>$name,'label'=>$label,'id'=>$currentUser]);
    return $pdo->lastInsertId();
}

تابع addFolder

    $(document).ready(function () {

        $("#addFolder").click(function (e) {
            e.preventDefault();
            var input=$("#nameFolder");
            var label=$("#labelFolder");
            var form_folder=$("#form-folder");

            $.ajax({
                url:"process/folder.php",
                type:"post",
                data:form_folder.serialize(),
                success:function (res) {
                    if(res){
                        $(`<li class='list-item'><a href='?folder_id=${res}' } ><i class='fa fa-folder icon-style'></i> ${input} </a></li>`).appendTo('.folder-list');

                    }else
                    {
                        alert(res);
                    }

                }
            });
        })
    })

کد ajax من هستش

کار میکنه اما مشکلی ک هست وقتی اضافه میکنم اول

 

[object,object]

نشون میده رو صفحه بعد که رفرش میکنم تازه مقدارم میاد همه چیش اوکیه اضافه میکنه  اما حس میکنم یک جای کار اشتباهه

فایل پیوست

علی رضوی
علی رضوی

2 خرداد 99

0
حذف شده

سلام دوست عزیز

کد افزودن فولدر شما مشکل داره (شما در بخش اجرای درخواست execute نام پارامترها رو اشتباه وارد کردین)

به اینصورت ویرایش کنید:

function addFolder($name,$label){
    global $pdo;
    $currentUser = currentUser();
    $sql="INSERT INTO `tbl_folder` (`name`,`label`,`user_id`) VALUES (:name,:label,:id) ";
    $stmt=$pdo->prepare($sql);
    $stmt->execute([':name'=>$name,':label'=>$label,':id'=>$currentUser]);
    return $pdo->lastInsertId();
}

در کد جاوااسکریپت هم در قسمت افزودن فولدر به لیست باید مقدار فیلد رو بگیرید، در صورتی که شما آبجکت فیلد رو جایگذاری کردین

به اینصورت ویرایش کنید:

$(`<li class='list-item'><a href='?folder_id=${res}' } ><i class='fa fa-folder icon-style'></i> ${input.val()} </a></li>`).appendTo('.folder-list');

خط ابتدایی بررسی لود شدن کامل صفحه رو به اینصورت ویرایش کنید:

jQuery(document).ready(function ($) {

 

فایل پیوست

علیرضا دهکار

توسط

علیرضا دهکار

2 خرداد 99