Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn XML

XML TRANG CHỦ Giới thiệu XML XML Cách sử dụng Cây XML pháp XML Các phần tử XML Thuộc tính XML Không gian tên XML Hiển thị XML XML HttpRequest Trình phân tích cú pháp XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Trình xác thực XML XML DTD Lược đồ XML Máy chủ XML Ví dụ XML Câu hỏi XML Chứng chỉ XML

XML AJAX

AJAX Giới thiệu AJAX XMLHttp AJAX Yêu cầu AJAX Phản hồi Tệp XML AJAX PHP AJAX ASP AJAX Cơ sở dữ liệu AJAX Ứng dụng AJAX Ví dụ về AJAX

DOM XML

Giới thiệu DOM Nút DOM DOM Truy cập thông tin nút DOM Danh sách nút DOM DOM Duyệt qua DOM Điều hướng DOM Nhận giá trị DOM Thay đổi nút DOM Xóa nút DOM Thay thế nút DOM Tạo nút DOM Thêm nút DOM Sao chép nút Ví dụ về DOM

Hướng dẫn XPath

Giới thiệu XPath Các nút XPath Cú pháp XPath Trục XPath Toán tử XPath Ví dụ về XPath

Hướng dẫn XSLT

Giới thiệu XSLT Ngôn ngữ XSL XSLT Chuyển đổi XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Áp dụng XSLT trên XSLT máy khách trên máy chủ XSLT Chỉnh sửa XML Ví dụ về XSLT

Hướng dẫn XQuery

Giới thiệu XQuery Ví dụ về XQuery XQuery FLWOR XQuery HTML Thuật ngữ XQuery Cú pháp XQuery XQuery Thêm XQuery Chọn các hàm XQuery

DTD XML

Giới thiệu DTD Các khối xây dựng DTD Các phần tử DTD Thuộc tính DTD Các phần tử DTD và Attr Các thực thể DTD Ví dụ về DTD

Lược đồ XSD

Giới thiệu XSD XSD Cách thực hiện XSD <lược đồ> Phần tử XSD Thuộc tính XSD Hạn chế XSD Phần tử phức tạp XSD XSD XSD rỗng Chỉ phần tử XSD chỉ có văn bản XSD Chỉ báo XSD hỗn hợp XSD <any> XSD <anyAttribution> Ví dụ XSD thay thế XSD

Các kiểu dữ liệu XSD

Chuỗi XSD XSD Ngày/giờ XSD Số XSD Tham chiếu XSD linh tinh

Dịch vụ web

Dịch vụ XML XML WSDL XML SOAP XML RDF XML RSS

Người giới thiệu

Các loại nút DOM DOM Nút DOM NodeList DOM NamedNodeMap Tài liệu DOM Phần tử DOM Thuộc tính DOM DOM Văn bản DOM CDATA DOM Nhận xét DOM XMLHttpRequest Trình phân tích cú pháp DOM Các phần tử XSLT Hàm XSLT/XPath

AJAX - Gửi yêu cầu đến máy chủ


Đối tượng XMLHttpRequest được sử dụng để trao đổi dữ liệu với máy chủ.


Gửi yêu cầu đến máy chủ

Để gửi yêu cầu đến máy chủ, chúng ta sử dụng các phương thức open() và send() của đối tượng XMLHttpRequest:

xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
Method Description
open( method, url, async ) Specifies the type of request

method : the type of request: GET or POST
url : the server (file) location
async : true (asynchronous) or false (synchronous)
send() Sends the request to the server (used for GET)
send( string ) Sends the request to the server (used for POST)

NHẬN hoặc ĐĂNG?

GET đơn giản và nhanh hơn POST và có thể được sử dụng trong hầu hết các trường hợp.

Tuy nhiên, hãy luôn sử dụng các yêu cầu POST khi:

  • Tệp được lưu trong bộ nhớ đệm không phải là một tùy chọn (cập nhật tệp hoặc cơ sở dữ liệu trên máy chủ).
  • Gửi một lượng lớn dữ liệu đến máy chủ (POST không có giới hạn về kích thước).
  • Gửi đầu vào của người dùng (có thể chứa các ký tự không xác định), POST mạnh mẽ và an toàn hơn GET.

NHẬN yêu cầu

Một yêu cầu GET đơn giản:

Ví dụ

xhttp.open("GET", "demo_get.asp", true);
xhttp.send();
Hãy tự mình thử »

Trong ví dụ trên, bạn có thể nhận được kết quả được lưu trong bộ nhớ đệm. Để tránh điều này, hãy thêm một ID duy nhất vào URL:

Ví dụ

xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);
xhttp.send();
Hãy tự mình thử »

Nếu bạn muốn gửi thông tin bằng phương thức GET, hãy thêm thông tin vào URL:

Ví dụ

xhttp.open("GET", "demo_get2.asp?fname=Henry&lname=Ford", true);
xhttp.send();
Hãy tự mình thử »


ĐĂNG yêu cầu

Một yêu cầu POST đơn giản:

Ví dụ

xhttp.open("POST", "demo_post.asp", true);
xhttp.send();
Hãy tự mình thử »

Để ĐĂNG dữ liệu như biểu mẫu HTML, hãy thêm tiêu đề HTTP bằng setRequestHeader(). Chỉ định dữ liệu bạn muốn gửi trong phương thức send():

Ví dụ

xhttp.open("POST", "demo_post2.asp", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("fname=Henry&lname=Ford");
Hãy tự mình thử »
Method Description
setRequestHeader( header, value ) Adds HTTP headers to the request

header : specifies the header name
value : specifies the header value

Url - Tệp trên máy chủ

Tham số url của phương thức open() là địa chỉ của một tệp trên máy chủ:

xhttp.open("GET", "ajax_test.asp", true);

Tệp này có thể là bất kỳ loại tệp nào, như .txt và .xml hoặc các tệp tập lệnh máy chủ như .asp và .php (có thể thực hiện các hành động trên máy chủ trước khi gửi phản hồi lại).


Không đồng bộ - Đúng hay sai?

Yêu cầu máy chủ phải được gửi không đồng bộ.

Tham số async của phương thức open() phải được đặt thành true:

xhttp.open("GET", "ajax_test.asp", true);

Bằng cách gửi không đồng bộ, JavaScript không phải đợi phản hồi của máy chủ mà thay vào đó có thể:

  • thực thi các tập lệnh khác trong khi chờ phản hồi của máy chủ
  • xử lý phản hồi sau khi phản hồi đã sẵn sàng

Thuộc tính onreadystatechange

Với đối tượng XMLHttpRequest, bạn có thể xác định một hàm sẽ được thực thi khi yêu cầu nhận được câu trả lời.

Hàm này được xác định trong thuộc tính onreadystatechange của đối tượng XMLHttpResponse:

Ví dụ

xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML = this.responseText;
  }
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
Hãy tự mình thử »

Tệp "ajax_info.txt" được sử dụng trong ví dụ trên là một tệp văn bản đơn giản và có dạng như sau:

<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a technique for accessing web servers from a web page.</p>
<p>AJAX stands for Asynchronous JavaScript And XML.</p>

Bạn sẽ tìm hiểu thêm về onreadystatechange trong chương sau.


Yêu cầu đồng bộ

Để thực hiện một yêu cầu đồng bộ, hãy thay đổi tham số thứ ba trong phương thức open() thành false:

xhttp.open("GET", "ajax_info.txt", false);

Đôi khi async = false được sử dụng để kiểm tra nhanh. Bạn cũng sẽ tìm thấy các yêu cầu đồng bộ trong mã JavaScript cũ hơn.

Vì mã sẽ đợi máy chủ hoàn thành nên không cần có hàm onreadystatechange:

Ví dụ

xhttp.open("GET", "ajax_info.txt", false);
xhttp.send();
document.getElementById("demo").innerHTML = xhttp.responseText;
Hãy tự mình thử »

XMLHttpRequest đồng bộ (async = false) không được khuyến nghị vì JavaScript sẽ ngừng thực thi cho đến khi phản hồi của máy chủ sẵn sàng. Nếu máy chủ bận hoặc chậm, ứng dụng sẽ bị treo hoặc dừng.

XMLHttpRequest đồng bộ đang trong quá trình bị loại bỏ khỏi tiêu chuẩn web, nhưng quá trình này có thể mất nhiều năm.

Các công cụ dành cho nhà phát triển hiện đại được khuyến khích cảnh báo về việc sử dụng các yêu cầu đồng bộ và có thể đưa ra ngoại lệ InvalidAccessError khi nó xảy ra.


×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .