خانه برنامه نویسی کار با AJAX در جاوا اسکریپت قسمت دوم
آموزش کار با ای جکس در جاوا اسکریپت

کار با AJAX در جاوا اسکریپت قسمت دوم


۲۶ دی ۱۳۹۸
رضا احمدی
232 بازدید
دسته بندی : JavaScript , برنامه نویسی

در قسمت قبل کار با AJAX در جاوا اسکریپت را بطور کلی همراه با یک مثال بررسی کردیم. در این قسمت متد های بیشتر و مثال های کاربردی تر ای جکس را بررسی می کنیم.

برسی پاسخ های یک درخواست ای جکس :

هنگامی که ما شی از کلاس XMLHttpRequest می سازیم با یک صفت از این شی به نام xhr.responseType رو برو هستیم در این صفت میتوان فرمت پاسخی که سرور به ما می دهد را تنظیم کنیم. این فرمت ها به شرح زیر است:

"" (default) – بصورت پیشفرض یک رشته است,
"text" – تنظیم پاسخ بصورت یک رشته,
"arraybuffer" – تنظیم بصورت یک ArrayBuffer
"blob" – تنظیم بصورت اعداد باینری یا دودوئی
,"document" – تنظیم پاسخ بصورت xml
"json" –تنظیم پاسخ بصورت json

به مثال زیر دقت کنید :

  1. function getInfo(){
  2.     var xhttp = new XMLHttpRequest();
  3.     xhttp.open("GET", "getinfo.php", true);
  4.     xhttp.responseType="json";
  5.     xhttp.send();
  6.     xhttp.onreadystatechange=function() {
  7.         if (this.readyState == 4 && this.status == 200) {
  8.             let res=this.response;// the response is {"message": "Hello, world!"}
  9.             document.getElementById("msg").innerHTML = res.message;//Hello, world!
  10.         }
  11.     };
  12. }

در خط 4 نوع پاسخ یک فرمت json تنظیم شده است در این صورت هنگامی که پاسخ را به یک متغییر نسبت می دهیم آن متغییر مانند یک شی جی سان عمل می کند و می توانیم به هر کدام از اشیا درون این ابجکت دستری پیدا کرده در خط 9 گفته شده شی message را نمایش یده که این شی محتوای Hello, worl! است.

فرستادن محتویات یک فرم به سرور :

فرض کنید یک فرم به نام person داریم که شامل دو تکست باکس به نام های name , surname می باشد می خواهیم این فرم را به سرور ارسال کنیم و پاسخ سرور را نمایش دهیم.

  1. function sendMyForm()
  2. {
  3.   // pre-fill FormData from the form
  4.   let formData = new FormData(document.forms.person);  
  5.  
  6.   // send it out
  7.   let xhttp = new XMLHttpRequest();
  8.   xhttp.open("POST", "user.php", true);  
  9.   xhttp.send(formData);
  10.   xhttp.onreadystatechange=function() {
  11.       if (this.readyState == 4 && this.status == 200) {       
  12.           document.getElementById("msg").innerHTML = this.response;
  13.       }
  14.   };
  15. }

همانطور که می بینید با استفاده از ajax محتویات فرم person را اسال کرده ایم. و در انتها همین مثال را اینبار بصورت یک فایل json ارسال میکنیم.

  1. let xhr = new XMLHttpRequest();
  2.  
  3. let json = JSON.stringify({
  4.   name: "John",
  5.   surname: "Smith"
  6. });
  7.  
  8. xhr.open("POST", '/submit')
  9. xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
  10.  
  11. xhr.send(json);

دقت نمایید که در خط 9 نوع درخواست ما یک فایل جی سان با فرمت utf-8 تنظیم شده .

منابع این مقاله :


https://javascript.info/xmlhttprequest
https://www.w3schools.com/js/js_ajax_http.asp

مطالب مرتبط

 دیدگاهتان را بنویسید   

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *