PDA

View Full Version : خطا در اجرای کد آجاکس در جی کوئری!



mohammad973
یک شنبه 20 اسفند 1391, 12:59 عصر
سلام دوستان . من دکمه ای توی صفحه ام گذاشتم و میخوام با کلیک بر اون ، به صورت ای جکسی و با استفاده از جی کوئری ، یک رکورد از جدول دیتابیسم رو حذف کنم . این کد اون دکمه هست :


$("div#YesDelete").click(function () {
$.ajax({
type: "POST",
url: "NewQuestions.aspx/DeleteComment",
data: "{'id','" + record_id + "'}",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function () { alert("پاک شد"); },
error: function () { alert("خطا"); }
});
});


و این هم متدی که صدا زده میشه :

[WebMethod(EnableSession=true)]
public static void DeleteComment(string id)
{
SqlConnection conn = new SqlConnection("Data Source=MOHAMMAD-PC\\MOHAMMADMSSERVER;Initial Catalog=h3rd_DB;Integrated Security=True");
SqlCommand comm = new SqlCommand("Delete From [Question] where [Q_ID] = " + id, conn);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}



مشکل اینجاست که تابع error داخل کدهای ajax ام همش اجرا میشه و به هیچ عنوان رکوردی پاک نمیشه . کجای کارم ایراد داشته ؟
(مطمئنا کد های #C ام درسته . هرچی هست توی جی کوئری ام هست. ممنون میشم راهنماییم کنید)

plague
یک شنبه 20 اسفند 1391, 14:06 عصر
چرا تایپ رو جیسون دادی ؟ همچنین data رو اینجوری نباید وارد کنی این غلطه

data: {id: record_id },

mohammad973
یک شنبه 20 اسفند 1391, 14:16 عصر
ممنون درست شد . مشکل از , بود !

ولی چرا نباید از json استفاده کنم ؟ چه مشکلی داره ؟

plague
یک شنبه 20 اسفند 1391, 20:24 عصر
مشکلی خاصی نداره اینجا
ولی وقتی شما تایپ رو جیسون بزاری کدت انتظار داره که سرور نتایج رو با فرمت جیسون بفرسته و اینجوری تفسیرشون میکنه
درحالی که شما نتایج برگشتیتون جیسون نیست

حالا شما اینجا با نتیجه برگشتی از سرور هیچ کاری نداری و متوجه مشکل نمیشی
ولی تو یه کد دیگه میخای از نتایج برگشتی استفاده بکنی اونوقت دچار مشکل میشی

mohammad973
یک شنبه 20 اسفند 1391, 22:59 عصر
پس مقدار کد برگشتی رو به چه صورت تنظیم میکنیم ؟ مگه dataType برای دریافتی و ContentType برای فرمت ارسالی هامون نیست ؟

mohammad973
یک شنبه 20 اسفند 1391, 23:35 عصر
ضمنا ، من دقیقا با همون سبک کدی که توی پست اول دادم ، کدی برای آپدیت جدول دادم . ولی هیچ کاری نمیکنه !

plague
دوشنبه 21 اسفند 1391, 19:47 عصر
هیچی نزار ! اصلا اون دو خط رو پاک کن خوده جی کوئری ترتیبشو میده

---

شما فایر باگ نصب کن و یاد بگیر باهاش کار کنی نصف بیشتر مشکلاتت حل میشه