دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۸
  • اردیبهشت

جلسه ۲۲ : آموزش کار با Request در AJAX

  • دسته‌بندی‌ها :
جلسه ۲۲ : آموزش کار با Request در AJAX
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته با آموزش XMLHttp همراه شما بودیم و شما را با روش ها و ویژگی های XMLHttpRequest object آشنا کردیم. در این جلسه آموزش AJAX در XML را با آموزش کار با Request در AJAX ادامه می دهیم.

      آموزش کار با Request در AJAX

      می توان از XMLHttpRequest object برای تبادل داده در یک سرور استفاده کرد.

      ارسال یک درخواست به یک سرور

      برای ارسال یک درخواست به سرور، از روش های ()open و ()send از XMLHttpRequest object استفاده می کنیم:

      مثال : 

      روشتوضیحات
      open(method, url, async)نوع درخواست را مشخص می کند

      روش: نوع درخواست: GET یا POST
      url: محل سرور (فایل)
      true :async درست (ناهمزمان) یا false (همگام)

      ()sendدرخواست را به سرور ارسال می کند (مورد استفاده برای GET)
      (send(stringدرخواست را به سرور ارسال می کند (برای POST استفاده می شود)

      GET یا POST ؟

      GET ساده تر و سریع تر از POST است و می تواند در اکثر موارد استفاده شود.
      با این حال، همیشه از درخواست های POST زمانی استفاده کنید که:
      فایل cached گزینه ای نیست (به روز رسانی یک فایل یا پایگاه داده در سرور).
      ارسال مقدار زیادی از اطلاعات به سرور (POST محدودیت اندازه ندارد).
      ارسال ورودی کاربر (که می تواند شامل کاراکتر های ناشناخته باشد)، که در این صورت POST می تواند قوی تر و امن تر از GET باشد.

      دریافت درخواستها GET Requests

      یک درخواست GET به صورت ساده به شکل زیر است:

      مثال : 

      در مثال بالا، ممکن است نتیجه cache شده را دریافت کنید. برای جلوگیری از اتفاق، یک شناسه ID منحصر به فرد به URL اضافه کنید:

      مثال : 

      روشتوضیحات
      setRequestHeader(header, value)HTTP headers را به request اضافه می کند:
      header: نام هدر را مشخص می کند
      value: مقدار هدر را مشخص می کند

      آدرس url  – یک فایل در یک سرور

      پارامتر url از روش ()open یک آدرس به یک فایل در یک سرور است:

      مثال : 

      این فایل می تواند هر نوع فایل، مانند txt. و xml.، یا فایل های اسکریپت سرور مانند asp. و php. (که ممکن است قبل از ارسال پاسخ روی سرور موجب ایجاد واکنش شود) باشد.

      Asynchronous – درست یا غلط؟

      درخواست سرور باید به صورت یکپارچه ارسال شود.
      بنابرین پارامتر async از روش ()open باید به درستی تنظیم گردد.

      مثال : 

      با ارسال غیر همزمان، جاوا اسکریپت مجبور نیست که برای پاسخ سرور را صبر کند، بلکه می تواند به جای آن:

      • در حالی که انتظار پاسخ سرور را دارد سایر اسکریپت ها را اجرا نماید.
      • کار با پاسخ ارسال شده را تا زمان آماده شدن آن به تعویق بی اندازد.

      ویژگی onreadystatechange

      با استفاده ازXMLHttpRequest object، می توانید یک تابع را برای زمانی که درخواست را به عنوان یک پاسخ دریافت می کنید، تعریف نمایید.
      این تابع در ویژگی onreadystatechange در XMLHttpResponse object تعریف شده است:

      مثال : 

      در جلسه بعدی مطالب بیشتری راجع به onreadystatechange خواهید آموخت.
      در ادامه جلسه آموزش کار با Request در AJAX شما را با درخواست همزمان یا Synchronous Request آشنا می نماییم.

      درخواست همزمان Synchronous Request

      برای اجرای یک درخواست همزمان، پارامتر سوم در روش ()open را به false تغییر دهید:

      مثال : 

      گاهی اوقات async = false برای تست سریع استفاده می شود.
      علاوه بر این می توانید درخواست های همزمان را در کد جاوا اسکریپت قدیمی پیدا نمایید.
      از آنجا که کد برای تکمیل سرور صبر می کند، نیازی به تابع onreadystatechange نیست.

      مثال : 

      استفاده از XMLHttpRequest همزمان (async = false) توصیه نمی شود، زیرا جاوا اسکریپت اجرا می شود تا پاسخ سرور آماده گردد و اگر سرور شلوغ یا کند باشد، برنامه قطع و یا متوقف خواهد شد.
      گرچه  XMLHttpRequest همزمان در حال فرار از استاندارد وب است، اما این روند می تواند سالها طول بکشد.

      کلام آخر

      در این جلسه با آموزش کار با Request در AJAX همراه شما بودیم و در چند گام ساده و عملی کار با آن را آموختیم.
      در جلسه بعدی این دوره را با آموزش Server Response دنبال می کنیم.
      با پی وی لرن همراه باشید.

      QR:  جلسه ۲۲ : آموزش کار با Request در AJAX
      به اشتراک بگذارید