69
تشکر

ajax یکبار برای همیشه

آموزش کار با ajax

آموزش کار با ajax

شاید نوشتن کدهای ajax برای هر پروژه به صورت جداگانه زیاد خوب به نظر نرسد. بیاید یک کد بنویسیم و از آن در تمام پروژه ها استفاده کنیم.

در این مطلب با استفاده از کتابخانه jQuery کدی مینویسیم که فقط با اضافه کردن یک کلاس به تگ form، اطلاعات فرم به صورت ajax ارسال شود، و همچنین پیام مناسب صادر شود.

در ادامه همراه ما باشید…

ابتدا کد زیر را به صفحه اضافه میکنیم. در صورت نا فهم بودن کدهای زیر میتوانید مطالب “آموزش کار با ajax” و “آموزش کار با ajax بخش دوم” را مطالعه کنید.

$(document).on("submit", ".ajax-form", function() {
  var form = $(this),
      action = form.attr('action'),
      method = form.attr('method'),
      dataSerialize = form.serialize();
  
  var request = $.ajax({
    type: method,
    url: action,
    data: dataSerialize
  });
  
  request.done(function(data) {
     alert(data);
  });
  
  request.fail(function() {
      alert('fail');
  });
  
  return false;
});

خب. تنها یک قدم دیگر تا اتمام کار کافیست. در مرحله بعد هر فرمی که میخواهید اطلاعات آن به صورت ajax ارسال شود، کافی است کلاس ajax-form را به تگ form اضافه کنید.

نکته 1: برای بازگشت دادن اطلاعات از سمت سرور، کافیست متنی که میخواهید نمایش دهید را با دستور echo ارسال کنید.

نکته 2: در تابع خط 13، اطلاعات بازگشتی از سمت سرور، alert میشود، شما میتوانید برای خودتان سفارشی سازی کنید.

نکته 3: در تابع خط 17، در صورت انجام نشدن عملیات ajax، پیغامی با پیام “fail” به کاربر نمایش داده میشود، شما میتوانید برای خودتان سفارشی سازی کنید.

اگر کد بالا دارای هرگونه اشکال، یا جای کار برای توسعه داشت در نظرات بیان کنید.

  • علی . ح می‌گه:

    سلام با ضمن عرض تبریک به مناسبت عید سعید فطر به همه دوستان
    خوب اونچه من در بالا میبینم رو یه روش معمولی برای ارسال اطلاعات و هست ..
    من فکر میکنم به متد هایی برای ایمن سازی تبادل اطلاعات در آجاکس نیاز هست . من چند مورد رو به توابع آجاکسی که مینویسم اضافه میکنم مثلا فایل که در سمت سرور اطلاعات رو دریافت میکنه ابتدا refarer رو چک میکنه و سپس یک کد رندر با جاوا اسکریپت تولید کردم رو به این صفحه میفرستم کد رندر رو با کد رندری که در فایل سمت سرور نیز تولید میشه تطابق میدم .. اگر دو مورد بالا صحیح بود بعد پارمتر های ارسالی رو validat میکنم و در نهایت اطلاعات رو برمیگردونم هر چند این روش هم نمیتون تضمین کننده 100% باشه اما تا حدودی امنیت منبع ارسال و نیز پارامتر های ارسالی مشخص میشه ..

  • سجاد می‌گه:

    سلام
    منظور از serialize() چیه؟

    • etc می‌گه:

      توسط serialize() ما میتونیم یک فرم رو بگیریم و تما متغیرهایی که توش داره رو برای ارسال آماده کنیم یعنی اگه یه فرم باشه که داخلش چند اینپوت باشه اونا رو به صورت اتوماتیک تبدیل به یک رشته میکنه مثل name=valueofname&felan=valueoffelan…

  • مفید و تاثیر گذار …

    ممنون بابت وقتی که گذاشتید

  • رضا روزبه می‌گه:

    سلام دوست من.میشه جستجوی لحظه ای رو بنویسی که از دیتابیس بخونه با زبان vb

  • رضا طاهری می‌گه:

    واقا سایتت عالی فقط مشکلش اینه که خیلی دیر به دیر آپدیت می کنی
    واقا ممنون
    رضا طاهری


  • نظرات این مطلب بسته است.