ورود

View Full Version : مشکل در حذف رکورد...



mrrajabi
یک شنبه 06 آبان 1386, 16:49 عصر
سلام
من یه قطعه کد دارم که با تکنیک آژاکس نوشته شده و هدفش پاک کردن سطری از یک جدول است.
وقتی برنامرو trace می کنم درست عمل می کنه و هم سمت سرور اون سطر رو پاک می کنه و هم سمت کلاینت( با استفاده از جاوا اسکریپت.)
ولی هنگامی که برنامرو تو مرور گر باز می کنم همه ی عملیاتم درست انجام میشه,همینطور سطر مربوطرو هم از جدولم تو مرورگر پاک می کنه ,اما وقتی صفحه رو رفرش می کنم مشخص میشه که پاک نکرده.
عملیات سمت سرورم مطمئنم که درسته.به عملیات سمت کلاینتم شک دارم که کدهاشو این زیر گذاشتم.


Function delRow()
{
table = document.getElementById('tbl');
row = document.getElementById('rowId');
table.deleteRow(row.rowIndex);
}

من احتمال خیلی زیاد ارور رو توی این تابع میبینم.حالا دوستان لطف کنن جواب بدن ممنون میشم.

RezaKia
یک شنبه 06 آبان 1386, 22:43 عصر
سلام،

برای اینکه صفحه نوشته شده شما به کمک Ajax بتواند بدون مشکل اجرا شود باید اطمینان داشته باشید که اگر بهر دلیلی کدهای Ajax از کار افتادند؛ «مثل حالتی که هنوز این کدها توسط مرورگر کاربر دریافت نشده و کاربر عملیاتی را که شما با Ajax مدیریت کرده اید انجام میدهد» صفحه دچار خطا نشده، بلکه به جای اجرا Ajax از روش قبلی یعنی PostBack استفاده کند.

این حالت در سایتهایی همچون http://360.yahoo.com/ (http://360.yahoo.com/) , http://www.live.com (http://www.live.com) رعایت شده اند.
البته سایتهای ایرانی زیادی هم این کار را کرده اند. خود من سایتهایی چون http://www.suneastonline.com (http://www.suneastonline.com) , http://www.irannewpearl.com (http://www.irannewpearl.com) , .... را با این روش پیاده کرده ام.

اما برای مشکل شما، روش استاندارد و مطمئن آزمون Ajax اجرای صفحه بدون Ajax است.
این یعنی شما باید داده های ورودی و خروجی را یک بار به طور موقت در خارج از Ajax اجرا کنید . یا کل داه های شیء Ajax را قبل و بعد از فراخوانی مقایسه کنید تا محل خطا معین شود.

راه دیگر نیز اضافه کردن تکه کدی موقت مثلا بعد از زدن یک دکمه موقتی و فراخوانی صفحه حاوی دستورات و مشاهده آنها است.

با این روش آخری از صحت سمت سرور هم مطمئن خواهید شد.

موفق باشید. : تشویق:

tabib_m
دوشنبه 07 آبان 1386, 18:24 عصر
اما وقتی صفحه رو رفرش می کنم مشخص میشه که پاک نکرده.
صفحه پس از رفرش، از کش خونده میشه، و طبیعتا زمانی که برای آخرین بار صفحه مشاهده شده، سطر مربوطه وجود داشته!