برای دیدن تغیرات وضعیت تسک صفحه رو باید رفرش کنم تا تغیرات اعمال بشه از فانکشن بالا هم استفاده کردم ولی جواب نداد
سلام،
منظورتون قسمتیه که در کدی که فرستادم این دستور رو استفاده کردم یا در قسمت جدیدی استفاده کردید؟
این کد جاوااسکریپت اگر خطایی قبلش رخ نده، صفحه رو رفرش میکنه. (تب کنسول رو ببینید خطایی نباشد.)
محسن موحد۱۵ فروردین ۱۴۰۲، ۰۸:۲۲
سلام استاد عزیزاقای موحد
من وقتی تسک رو میخوام دان کنم یعنی وضعیتشو اون تیک داخل چک باس منٓطورمه انجام میشه ولی باید یک بار صفحه رو رفرش کنم در صورتی که واسه حذف اون تسک مشکلی ناره تسک حذف میشه صفحه خودش رفرش میشه در ضمن داخل تب کنسول هیچ خطایی ندارم
Hossein S۱۵ فروردین ۱۴۰۲، ۰۸:۴۲
سلام، قبل از دستور location.reload یک alert() بذارید، ببینید به دستور alert میرسه یا نه.
محسن موحد۱۶ فروردین ۱۴۰۲، ۰۰:۲۷
$(document).ready(function () {
$('.new-task').click(function (e) {
addTask();
})
$('.isDone').click(function (e) {
var tid = $(this).attr('data-taskId');
$.ajax({
url: "process/ajaxHandler.php",
method: "post",
data: {action: "doneSwitch", taskId: tid},
success: function (response) {
if (response == 1) {
alert('ggg');
location.reload();
}
}
});
})
ن چیزی نشون نمیده
Hossein S۱۶ فروردین ۱۴۰۲، ۰۳:۲۰
باید انعطافتونو بیشتر کنید در سمت دیباگ و تمرین کنید تا بتونید حدص بزنید که یک مشکل چه احتمالاتی میتونه داشته باشه. البته با تمرین مکرر درست خواهد شد.
بجای attr از data استفاده شده. اتریبیوتی که به تگ داده میشه data-taskId خواهد بود و در data فقط taskId میآید و مقدارش را میگیرد.
در قسمت data کدهای ajax بعد از action از taskId تنها استفاده شده که این نوع سینتکس کوتاه، مربوط ES6 هست.
من میخوام توضیح بدم اگر جای شما بودم چه چیزی به ذهنم میومد و فکرمو بخونم:
کدهارو اجرا میکنم میبینم location.reload اجرا نمیشه. اولین کاری که به ذهنم میرسه اینه که اول چک کنم ببینم به بخش success میرسه یا نه؟ میام داخل بخش success یک دستور alert میذارم. این دستورو داخل if نمیذارم!! چون خود if هم در دیباگ ازش مطمئن نیستم که آیا شرط response == 1 برقراره یا نه؟! قبل از if دستور alert رو میذارم. اگر alert اجرا شد بنابراین متوجه میشم که شرط اجرا نمیشه پس باید برم سمت بک اند چک کنم که چه چیزی به سمت کلاینت ارسال میشود.
میرم سمت کدهای php و چک میکنم چه چیزی چاپ میشه برای خروجی؟ اگر برای چاپ عدد 1 از die(1) استفاده کردی باید echo 1 بنویسی بعد die خالی.
استاد اوند داخل اموزش گفت با data-taskمیشه داخل تگهای اچ تی ام ال دیتای هر المانی رو گرفت با این کار تسک ایدی رو گرفت بعدش بعدش اومد دادش به یه متغیر دیگه بنام tid که داخل ajax taskIdرو داشته باشه
من خیلی توی دیبگ کردن ضعیفمم گنگم مرسی بابت توضیحات بالا