Bạn đang xem : xmlhttprequest lấy ví dụ về javascript

XMLHttpRequest là một đối tượng trình duyệt tích hợp cho phép thực hiện các yêu cầu HTTP trong JavaScript.

Mặc dù có từ “XML” trong tên của nó, nó có thể hoạt động trên bất kỳ dữ liệu nào, không chỉ ở định dạng XML. Chúng tôi có thể tải lên / tải xuống tệp, theo dõi tiến trình và hơn thế nữa.

Hiện tại, có một phương pháp khác, hiện đại hơn fetch , phương pháp này hơi không được chấp nhận XMLHttpRequest .

Trong phát triển web hiện đại, XMLHttpRequest được sử dụng vì ba lý do:

  1. Lý do lịch sử: chúng tôi cần hỗ trợ các tập lệnh hiện có bằng XMLHttpRequest .
  2. Chúng tôi cần hỗ trợ các trình duyệt cũ và không muốn tạo nhiều ô (ví dụ: giữ các tập lệnh nhỏ).
  3. Chúng tôi cần một cái gì đó mà tìm nạp chưa thể làm được, ví dụ: để theo dõi tiến trình tải lên.

Điều đó nghe có vẻ quen thuộc? Nếu có, thì được rồi, hãy tiếp tục với XMLHttpRequest . Nếu không, vui lòng truy cập Tìm nạp .

XMLHttpRequest có hai chế độ hoạt động: đồng bộ và không đồng bộ.

Trước tiên, hãy xem tính năng không đồng bộ vì nó được sử dụng trong đa số trường hợp.

Để thực hiện yêu cầu, chúng tôi cần 3 bước:

  1. Tạo XMLHttpRequest :

      let xhr = new XMLHttpRequest ();  

    Hàm tạo không có đối số.

  2. Khởi tạo nó, thường ngay sau new XMLHttpRequest :

      xhr.open (method, URL, [async, user, password])  

    Phương thức này chỉ định các tham số chính của yêu cầu:

    • method – HTTP-method. Thường là "GET" hoặc "POST" .
    • URL – URL để yêu cầu, một chuỗi, có thể là đối tượng URL .
    • async – nếu được đặt rõ ràng thành false , thì yêu cầu là đồng bộ, chúng tôi sẽ đề cập đến vấn đề đó một chút sau.
    • user , password – đăng nhập và mật khẩu cho xác thực HTTP cơ bản (nếu cần).

    Xin lưu ý rằng lệnh gọi open , trái với tên của nó, không mở kết nối. Nó chỉ định cấu hình yêu cầu, nhưng hoạt động mạng chỉ bắt đầu với lệnh gọi send .

  3. Gửi nó đi.

      xhr.send ([body])  

    Phương thức này mở kết nối và gửi yêu cầu đến máy chủ. Tham số body tùy chọn chứa phần thân yêu cầu.

    Một số phương thức yêu cầu như GET không có nội dung. Và một số trong số chúng như POST sử dụng body để gửi dữ liệu đến máy chủ. Chúng ta sẽ xem các ví dụ về điều đó sau.

  4. Nghe các sự kiện xhr để có phản hồi.

    Ba sự kiện này được sử dụng rộng rãi nhất:

    • load – khi yêu cầu hoàn tất (ngay cả khi trạng thái HTTP là 400 hoặc 500) và phản hồi được tải xuống đầy đủ.
    • error – khi không thể thực hiện yêu cầu, ví dụ: mạng bị ngắt hoặc URL không hợp lệ.
    • tiến trình – kích hoạt định kỳ trong khi phản hồi đang được tải xuống, báo cáo số lượng đã được tải xuống.
      xhr.onload = function () {
      alert (`Đã tải: $ {xhr.status} $ {xhr.response}`);
    };
    
    xhr.onerror = function () {// chỉ kích hoạt nếu hoàn toàn không thực hiện được yêu cầu
      alert (`Lỗi mạng`);
    };
    
    xhr.onprogress = function (event) {// kích hoạt định kỳ
      // event.loaded - tải xuống bao nhiêu byte
      // event.lengthComputable = true nếu máy chủ đã gửi tiêu đề Độ dài Nội dung
      // event.total - tổng số byte (nếu lengthComputable)
      alert (`Đã nhận $ {event.loaded} / $ {event.total}`);
    };  

Đây là một ví dụ đầy đủ. Đoạn mã dưới đây tải URL tại / article / xmlhttprequest / example / load từ máy chủ và in tiến trình:


 // 1. Tạo một đối tượng XMLHttpRequest mới
let xhr = new XMLHttpRequest ();

// 2. Định cấu hình nó: GET-request cho URL /article/.../load
xhr.open ('GET', '/ article / xmlhttprequest / example / load');

// 3. Gửi yêu cầu qua mạng
xhr.send ();

// 4. Điều này sẽ được gọi sau khi nhận được phản hồi
xhr.onload = function () {
  if (xhr.status! = 200) {// phân tích trạng thái HTTP của phản hồi
    alert (`Lỗi $ {xhr.status}: $ {xhr.statusText}`); // ví dụ. 404 không tìm thấy
  } else {// hiển thị kết quả
    alert (`Xong, nhận được $ {xhr.response.length} byte`); // phản hồi là phản hồi của máy chủ
  }
};

xhr.onprogress = function (event) {
  if (event.lengthComputable) {
    alert (`Đã nhận $ {event.loaded} / $ {event.total} byte`);
  } khác {
    alert (`Đã nhận $ {event.loaded} byte`); // không có Nội dung-Độ dài
  }

};

xhr.onerror = function () {
  alert ("Yêu cầu không thành công");
};  

Khi máy chủ đã phản hồi, chúng tôi có thể nhận được kết quả trong các thuộc tính xhr sau:

trạng thái
Mã trạng thái HTTP (một số): 200 , 404 , 403 , v.v., có thể là 0 trong trường hợp không phải HTTP.
statusText
Thông báo trạng thái HTTP (một chuỗi): thường là OK cho 200 , Not Found cho 404 , < mã> Bị cấm đối với 403 , v.v.
response (các tập lệnh cũ có thể sử dụng responseText )
Phần thân phản hồi của máy chủ.

Chúng tôi cũng có thể chỉ định thời gian chờ bằng thuộc tính tương ứng:

  xhr.timeout = 10000; // thời gian chờ tính bằng mili giây, 10 giây  

Nếu yêu cầu không thành công trong thời gian nhất định, yêu cầu sẽ bị hủy và timeout kích hoạt sự kiện.

Tham số tìm kiếm URL

Để thêm các tham số vào URL, như ? name = value và đảm bảo mã hóa phù hợp, chúng tôi có thể sử dụng đối tượng URL :

  let url = new URL ('https://google.com/search');
url.searchParams.set ('q', 'kiểm tra tôi!');

// tham số 'q' được mã hóa
xhr.open ('GET', url); // https://google.com/search?q=test+me%21  

Chúng tôi có thể sử dụng thuộc tính xhr.responseType để đặt định dạng phản hồi:

  • "" (mặc định) – lấy dưới dạng chuỗi,
  • "text" – lấy dưới dạng chuỗi,
  • "arraybuffer" – lấy dưới dạng ArrayBuffer (đối với dữ liệu nhị phân, xem chương ArrayBuffer, mảng nhị phân ),
  • "blob" – lấy dưới dạng Blob (đối với dữ liệu nhị phân, xem chương Blob ),
  • "document" – lấy dưới dạng tài liệu XML (có thể sử dụng XPath và các phương thức XML khác) hoặc tài liệu HTML (dựa trên kiểu MIME của dữ liệu đã nhận),
  • "json" – nhận dưới dạng JSON (được phân tích cú pháp tự động).

Ví dụ: hãy lấy phản hồi dưới dạng JSON:


  let xhr = new XMLHttpRequest ();

xhr.open ('GET', '/ article / xmlhttprequest / example / json');

xhr.responseType = 'json';

xhr.send ();

// phản hồi là {"message": "Hello, world!"}
xhr.onload = function () {
  hãy để responseObj = xhr.response;
  cảnh báo (responseObj.message); // Chào thế giới!
};  

Xin lưu ý:

Trong các tập lệnh cũ, bạn cũng có thể tìm thấy các thuộc tính xhr.responseText và thậm chí là xhr.responseXML .

Chúng tồn tại vì lý do lịch sử, để lấy một chuỗi hoặc tài liệu XML. Ngày nay, chúng ta nên đặt định dạng trong xhr.responseType và lấy xhr.response như đã trình bày ở trên.

XMLHttpRequest thay đổi giữa các trạng thái khi nó tiến triển. Trạng thái hiện tại có thể truy cập là xhr.readyState .

Tất cả các trạng thái, như trong đặc điểm kỹ thuật :

  UNSENT = 0; // trạng thái ban đầu
ĐÃ MỞ = 1; // mở được gọi là
HEADERS_RECEIVED = 2; // các tiêu đề phản hồi đã nhận được
TẢI = 3; // phản hồi đang tải (một gói dữ liệu được nhận)
XONG = 4; // yêu cầu hoàn tất  

Đối tượng XMLHttpRequest di chuyển chúng theo thứ tự 0 1 2 3 < / code> →… → 3 4 . Trạng thái 3 lặp lại mỗi khi nhận gói dữ liệu qua mạng.

Chúng tôi có thể theo dõi chúng bằng sự kiện readystatechange :

  xhr.onreadystatechange = function () {
  if (xhr.readyState == 3) {
    // Đang tải
  }
  if (xhr.readyState == 4) {
    // yêu cầu đã hoàn thành
  }
};  

Bạn có thể tìm thấy readystatechange trình nghe trong mã thực sự cũ, nó ở đó vì lý do lịch sử, vì đã có lúc không có tải và các sự kiện khác. Ngày nay, các trình xử lý load / error / process không dùng nữa.

Chúng tôi có thể chấm dứt yêu cầu bất kỳ lúc nào. Lệnh gọi tới xhr.abort () thực hiện điều đó:

  xhr.abort (); // chấm dứt yêu cầu  

Điều đó kích hoạt sự kiện abort xhr.status trở thành 0 .

Nếu trong phương thức open , tham số thứ ba async được đặt thành false , thì yêu cầu sẽ được thực hiện đồng bộ.

Nói cách khác, việc thực thi JavaScript tạm dừng tại send () và tiếp tục khi nhận được phản hồi. Giống như lệnh alert hoặc prompt .

Đây là ví dụ được viết lại, tham số thứ 3 của open false :

  let xhr = new XMLHttpRequest ();

xhr.open ('GET', '/article/xmlhttprequest/hello.txt', false);

thử {
  xhr.send ();
  if (xhr.status! = 200) {
    alert (`Lỗi $ {xhr.status}: $ {xhr.statusText}`);
  } khác {
    cảnh báo (xhr.response);
  }
} catch (err) {// thay vì onerror
  alert ("Yêu cầu không thành công");
}  

Nó có thể trông đẹp, nhưng các lệnh gọi đồng bộ hiếm khi được sử dụng, vì chúng chặn JavaScript trong trang cho đến khi tải xong. Trong một số trình duyệt, không thể cuộn. Nếu một cuộc gọi đồng bộ mất quá nhiều thời gian, trình duyệt có thể đề xuất đóng trang web "treo".

Nhiều khả năng nâng cao của XMLHttpRequest , như yêu cầu từ một miền khác hoặc chỉ định thời gian chờ, không khả dụng cho các yêu cầu đồng bộ. Ngoài ra, như bạn có thể thấy, không có dấu hiệu tiến độ.

Vì tất cả những điều đó, các yêu cầu đồng bộ được sử dụng rất ít, hầu như không bao giờ. Chúng tôi sẽ không nói về chúng nữa.

XMLHttpRequest cho phép cả hai gửi tiêu đề tùy chỉnh và đọc tiêu đề từ phản hồi.

Có 3 phương pháp cho tiêu đề HTTP:

setRequestHeader (tên, giá trị)

Đặt tiêu đề yêu cầu với tên và giá trị đã cho.

Ví dụ:

  xhr.setRequestHeader ('Content-Type', 'application / json');  

Giới hạn của tiêu đề

Một số tiêu đề được quản lý độc quyền bởi trình duyệt, ví dụ: Người giới thiệu Máy chủ lưu trữ .
Danh sách đầy đủ trong đặc điểm kỹ thuật .

XMLHttpRequest không được phép thay đổi chúng, vì lợi ích của sự an toàn của người dùng và tính đúng đắn của yêu cầu.

Không thể xóa tiêu đề

Một điểm đặc biệt khác của XMLHttpRequest là không thể hoàn tác setRequestHeader .

Khi tiêu đề được đặt, nó sẽ được đặt. Các cuộc gọi bổ sung thêm thông tin vào tiêu đề, không ghi đè lên tiêu đề.

Ví dụ:

  xhr.setRequestHeader ('X-Auth', '123');
xhr.setRequestHeader ('X-Auth', '456');

// tiêu đề sẽ là:
// X-Auth: 123, 456  
getResponseHeader (tên)

Nhận tiêu đề phản hồi với name đã cho (ngoại trừ Set-Cookie Set-Cookie2 ).

Ví dụ:

  xhr.getResponseHeader ('Content-Type')  
getAllResponseHeaders ()

Trả về tất cả các tiêu đề phản hồi, ngoại trừ Set-Cookie Set-Cookie2 .

Tiêu đề được trả về dưới dạng một dòng, ví dụ:

  Cache-Control: max-age = 31536000
Nội dung-Độ dài: 4260
Loại nội dung: image / png
Ngày: Thứ Bảy, ngày 8 tháng 9 năm 2012 16:53:16 GMT  

Dấu ngắt dòng giữa các tiêu đề luôn là "\ r \ n" (không phụ thuộc vào hệ điều hành), vì vậy chúng tôi có thể dễ dàng chia nó thành các tiêu đề riêng lẻ. Dấu phân cách giữa tên và giá trị luôn là dấu hai chấm theo sau là dấu cách ":" . Điều đó đã được khắc phục trong thông số kỹ thuật.

Vì vậy, nếu chúng ta muốn nhận một đối tượng với các cặp tên / giá trị, chúng ta cần thêm một chút JS vào.

Như thế này (giả sử rằng nếu hai tiêu đề có cùng tên, thì tiêu đề sau sẽ ghi đè tiêu đề trước):

  let headers = xhr
  .getAllResponseHeaders ()
  .split ('\ r \ n')
  .reduce ((kết quả, hiện tại) = & gt; {
    let [name, value] = current.split (':');
    result [name] = value;
    trả về kết quả;
  }, {});

// headers ['Content-Type'] = 'image / png'  

Để thực hiện yêu cầu ĐĂNG, chúng tôi có thể sử dụng đối tượng FormData được tích hợp sẵn.

Cú pháp:

 let formData = new FormData ([form]); // tạo một đối tượng, tùy chọn điền từ & lt; form & gt;
formData.append (tên, giá trị); // nối một trường  

Chúng tôi tạo nó, tùy chọn điền từ biểu mẫu, thêm các trường khác nếu cần và sau đó:

  1. xhr.open ('POST', ...) - sử dụng phương thức POST .
  2. xhr.send (formData) để gửi biểu mẫu tới máy chủ.

Ví dụ:


  & lt; form name = "person" & gt;
  & lt; input name = "name" value = "John" & gt;
  & lt; input name = "surname" value = "Smith" & gt;
& lt; / form & gt;

& lt; script & gt;
  // điền trước Dữ liệu FormData từ biểu mẫu
  let formData = new FormData (document.forms. person);

  // thêm một trường nữa
  formData.append ("middle", "Lee");

  // Gửi đi
  let xhr = new XMLHttpRequest ();
  xhr.open ("POST", "/ article / xmlhttprequest / post / user");
  xhr.send (formData);

  xhr.onload = () = & gt; cảnh báo (xhr.response);
& lt; / script & gt;  

Biểu mẫu được gửi bằng mã hóa multiart / form-data .

Hoặc, nếu chúng ta thích JSON hơn, hãy JSON.stringify và gửi dưới dạng chuỗi.

Đừng quên đặt tiêu đề Content-Type: application / json , nhiều khung phía máy chủ sẽ tự động giải mã JSON bằng nó:

  let xhr = new XMLHttpRequest ();

let json = JSON.stringify ({
  tên: "John",
  họ: "Smith"
});

xhr.open ("POST", '/ submit')
xhr.setRequestHeader ('Content-type', 'application / json; charset = utf-8');

xhr.send (json);  

Phương thức .send (body) khá ăn tạp. Nó có thể gửi hầu hết mọi body , bao gồm các đối tượng Blob BufferSource .

Sự kiện tiến trình chỉ kích hoạt ở giai đoạn tải xuống.

Đó là: nếu chúng tôi POST gì đó, thì XMLHttpRequest trước tiên tải lên dữ liệu của chúng tôi (nội dung yêu cầu), sau đó tải xuống phản hồi.

Nếu chúng tôi đang tải lên nội dung nào đó lớn, thì chúng tôi chắc chắn quan tâm hơn đến việc theo dõi tiến trình tải lên. Nhưng xhr.onprogress không giúp được gì ở đây.

Có một đối tượng khác, không có phương pháp, dành riêng để theo dõi các sự kiện tải lên: xhr.upload .

Nó tạo các sự kiện, tương tự như xhr , nhưng xhr.upload chỉ kích hoạt chúng khi tải lên:

  • loadstart - bắt đầu tải lên.
  • tiến trình - kích hoạt định kỳ trong quá trình tải lên.
  • abort - tải lên đã bị hủy bỏ.
  • error - lỗi không phải HTTP.
  • load - tải lên thành công.
  • timeout - quá thời gian tải lên (nếu thuộc tính timeout được đặt).
  • loadend - tải lên thành công hoặc bị lỗi.

Ví dụ về trình xử lý:

  xhr.upload.onprogress = function (event) {
  alert (`Đã tải lên $ {event.loaded} / $ {event.total} byte`);
};

xhr.upload.onload = function () {
  alert (`Đã hoàn tất tải lên thành công.`);
};

xhr.upload.onerror = function () {
  alert (`Lỗi khi tải lên: $ {xhr.status}`);
};  

Dưới đây là một ví dụ thực tế: tải tệp lên với chỉ báo tiến trình:


  & lt; input type = "file" onchange = "upload (this.files [0])" & gt;

& lt; script & gt;
chức năng tải lên (tệp) {
  let xhr = new XMLHttpRequest ();

  // theo dõi tiến trình tải lên
  xhr.upload.onprogress = function (event) {
    console.log (`Đã tải lên $ {event.loaded} trong tổng số $ {event.total}`);
  };

  // theo dõi hoàn thành: cả thành công hoặc không
  xhr.onloadend = function () {
    if (xhr.status == 200) {
      console.log ("thành công");
    } khác {
      console.log ("error" + this.status);
    }
  };

  xhr.open ("POST", "/ article / xmlhttprequest / post / upload");
  xhr.send (tệp);
}
& lt; / script & gt;  

XMLHttpRequest có thể đưa ra các yêu cầu nguồn gốc chéo, sử dụng chính sách CORS giống như tìm nạp .

Cũng giống như tìm nạp , theo mặc định, nó không gửi cookie và ủy quyền HTTP đến một nguồn gốc khác. Để bật chúng, hãy đặt xhr.withCredentials thành true :

  let xhr = new XMLHttpRequest ();
xhr.withCredentials = true;

xhr.open ('POST', 'http://anywhere.com/request');
...  

Xem chương Tìm nạp: Yêu cầu nhiều nguồn gốc để biết chi tiết về tiêu đề nhiều nguồn gốc.

Mã điển hình của yêu cầu GET với XMLHttpRequest :

 let xhr = new XMLHttpRequest ();

xhr.open ('GET', '/ my / url');

xhr.send ();

xhr.onload = function () {
  if (xhr.status! = 200) {// Lỗi HTTP?
    // xử lý lỗi
    alert ('Lỗi:' + xhr.status);
    trở về;
  }

  // nhận phản hồi từ xhr.response
};

xhr.onprogress = function (event) {
  // báo cáo tiến độ
  alert (`Đã tải $ {event.loaded} / $ {event.total}`);
};

xhr.onerror = function () {
  // xử lý lỗi không phải HTTP (ví dụ: đứt mạng)
};  

Thực tế có nhiều sự kiện hơn, thông số kỹ thuật hiện đại liệt kê chúng (theo thứ tự vòng đời):

  • loadstart - yêu cầu đã bắt đầu.
  • tiến trình - một gói dữ liệu của phản hồi đã đến, toàn bộ phần nội dung phản hồi hiện đang ở trong phản hồi .
  • hủy bỏ - yêu cầu đã bị hủy bởi lệnh gọi xhr.abort () .
  • error - lỗi kết nối đã xảy ra, ví dụ: tên miền sai. Không xảy ra với các lỗi HTTP như 404.
  • load - yêu cầu đã hoàn tất thành công.
  • timeout - yêu cầu đã bị hủy do hết thời gian (chỉ xảy ra nếu nó đã được đặt).
  • loadend - kích hoạt sau khi load , error , timeout hoặc abort .

Các sự kiện error , abort , timeout load loại trừ lẫn nhau. Chỉ một trong số chúng có thể xảy ra.

Các sự kiện được sử dụng nhiều nhất là hoàn thành tải ( tải ), tải không thành công ( lỗi ) hoặc chúng ta có thể sử dụng một trình xử lý loadend và kiểm tra các thuộc tính của đối tượng yêu cầu xhr để xem điều gì đã xảy ra.

Chúng tôi đã thấy một sự kiện khác: readystatechange . Về mặt lịch sử, nó đã xuất hiện từ lâu, trước khi thông số kỹ thuật ổn định. Ngày nay, không cần sử dụng nó, chúng ta có thể thay thế nó bằng các sự kiện mới hơn, nhưng nó thường có trong các tập lệnh cũ hơn.

Nếu chúng ta cần theo dõi cụ thể quá trình tải lên, thì chúng ta nên lắng nghe các sự kiện tương tự trên đối tượng xhr.upload .


Xem thêm những thông tin liên quan đến chủ đề xmlhttprequest lấy javascript ví dụ

3 - Get JSON with the JavaScript XMLHttpRequest Method - JSON APIs and AJAX - freeCodeCamp Tutorial

  • Tác giả: Ganesh H
  • Ngày đăng: 2020-06-14
  • Đánh giá: 4 ⭐ ( 8669 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: TimeStamps:
    00:00 - Challenge
    00:34 - Introduction to JSON
    01:33 - Processing JSON with Parse and Stringify
    03:12 - XMLHTTPRequest
    10:38 - Challenge Solution

    We look into JSON notation and how to process this. Then we look at XMLHttpRequests and how they can be used to obtain JSON data. We open the request and give it properties, call the send method to send it of, and register a function to the onload property to run, once we have a response.

    Link to Challenge : https://www.freecodecamp.org/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method
    Concepts:
    JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate.
    https://www.json.org/json-en.html

    parse()
    The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string.
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

    stringify()
    The JSON.stringify() method converts a JavaScript object or value to a JSON string, optionally replacing values if a replacer function is specified or optionally including only the specified properties if a replacer array is specified.
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

    XMLHttpRequest
    XMLHttpRequest (XHR) objects are used to interact with servers. You can retrieve data from a URL without having to do a full page refresh. This enables a Web page to update just part of a page without disrupting what the user is doing. XMLHttpRequest is used heavily in AJAX programming.
    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

    XMLHttpRequest.open()
    The XMLHttpRequest method open() initializes a newly-created request, or re-initializes an existing one.
    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open

    XMLHttpRequest.send()
    The XMLHttpRequest method send() sends the request to the server. If the request is asynchronous (which is the default), this method returns as soon as the request is sent and the result is delivered using events. If the request is synchronous, this method doesn't return until the response has arrived.
    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send

    XMLHttpRequest.onload
    The XMLHttpRequestEventTarget.onload is the function called when an XMLHttpRequest transaction completes successfully.
    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget/onload

    XMLHttpRequest.responseText
    The read-only XMLHttpRequest property responseText returns the text received from a server following a request being sent.
    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseText
    -————————————————————————————————————-
    JSON (JavaScript Object Notation) is an open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types.

    Ajax is a set of web development techniques using many web technologies on the client side to create asynchronous web applications. With Ajax, web applications can send and retrieve data from a server asynchronously without interfering with the display and behavior of the existing page.

    freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that they complete either alone or in pairs. Upon completion of all project tasks, students are partnered with other nonprofits to build web applications, giving the students practical development experience.

    Thanks for Watching!

XMLHttpRequest với Promise JavaScript

  • Tác giả: completejavascript.com
  • Đánh giá: 3 ⭐ ( 2047 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Với xử lý đồng bộ, bạn quản lý chương trình dễ hơn, nhưng thường nó sẽ chạy chậm. Trong khi xử lý bất đồng bộ, chương trình chạy nhanh hơn nhưng code sẽ khó khăn hơn. Vì vậy, bài viết này sẽ hướng dẫn các bạn kết hợp XMLHttpRequest với Promise JavaScript trong xử lý bất đồng bộ.

Xmlhttprequest là gì

  • Tác giả: quanthanh.com
  • Đánh giá: 5 ⭐ ( 2550 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: AJAX là chữ viết tắt của cụm từ Asynchronous Javascript and XML. AJAX là phương thức trao đổi dữ liệu với máy chủ và cập nhật một hay nhiều phần của trang

XMLHttpRequest – Tạo HTTP request đến server trong JavaScript

  • Tác giả: pokimobile.vn
  • Đánh giá: 3 ⭐ ( 3895 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

XMLHTTPREQUEST – TẠO HTTP REQUEST ĐẾN SERVER TRONG JAVASCRIPT

  • Tác giả: kipalog.com
  • Đánh giá: 5 ⭐ ( 9212 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Có bao giờ bạn thắc mắc, chuyện gì thực sự diễn ra khi chúng ta gõ một địa chỉ trang web (ví dụ: (Link)) lên trình duyệt và nhấn Enter? Đầu tiên, t...

Using XMLHttpRequest - Web APIs

  • Tác giả: developer.mozilla.org
  • Đánh giá: 3 ⭐ ( 3627 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In this guide, we'll take a look at how to use
    XMLHttpRequest to issue HTTP
    requests in order to exchange data between the web site and a server.

Xmlhttprequest Là Gì

  • Tác giả: divinerank.vn
  • Đánh giá: 4 ⭐ ( 1370 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Có bao giờ bạn thắc mắc, chuyện gì thực sự diễn ra khi chúng ta gõ một địa chỉ trang web (ví dụ: completejavascript, com) lên trình duyệt và nhấn Enter?Đầu tiên, trình duyệt sẽ tìm kiếm địa chỉ IP của server ứng với tên miền, sau đó là mở kết nối TCP đến server thông qua cổng 80 - cổng mặc định của giao thức HTTP

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách thay đổi phông chữ trong HTML - html làm thế nào để thay đổi kích thước phông chữ

By ads_php