Home Web Front-end JS Tutorial Ajax overview and implementation

Ajax overview and implementation

Apr 24, 2018 pm 03:47 PM
ajax accomplish Overview

This time I will bring you an overview and implementation of Ajax. What are the precautions for Ajax overview and implementation? The following is a practical case, let's take a look.

Ajax is the abbreviation of Asynchronous

JavaScript XML. It is not a new technology, but a comprehensive utilization of existing technologies. This article introduces the overview and specific implementation methods of Ajax in detail. Friends in need can take a look, I hope it will be helpful to you

1. Overview of ajax

1. Ajax is Asynchronous ([ə'sɪŋkrənəs) JavaScript XML In short, it is not a new technology, but the comprehensive utilization of existing technologies. This technology can request additional data from the server without refreshing the page, bringing a better user experience

2. The core of Ajax technology is the XMLHttpRequest object (XHR for short), which was first introduced by Microsoft characteristic. Before the advent of XHR, Ajax-style communication had to be achieved with some hacks, mostly using hidden frames or inline frames.

3. XHR provides a smooth interface for sending requests to the server and parsing server responses. Being able to obtain more information from the server asynchronously means that after the user clicks, new data can be obtained without refreshing the page. That is to say, you can use the XHR object to obtain new data, and then insert the new data into the page through the DOM

4. Although the Ajax name contains XML components, Ajax communication has nothing to do with the data format. This technology is to obtain data from the server without refreshing the page, but it is not necessarily XML data

2. Operation: native ajax and ajax encapsulated in jQuery

1 , Native ajax:

Ajax function: Send request (set request setRequest) Receive response (getResponse)

A. Send request in ajax native way:

The most important thing in Ajax is also The most fixed part is the http request.

1) Establish a connection: (IE7 and above versions support XMLHttpRequest)

var xhr = new XMLHttpRequest(); //Create an asynchronous request object

2)Get request: The format must be (url?name1=value1&name2=value2)

xhr.open("get","01-register.php?name="+name);//初始化异步get请求
xhr.send(null); //与服务器建立连接
Copy after login
3)

Post request

xhr.open('post','01-XMLHTTPRequest-test.php');//请求报文行
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); /*post请求设置请求头*/
xhr.send('name=rose&age=20'); //请求报文体
Copy after login
4)get and post request Difference:

★get does not need to set the request header, while post needs to set the request header

★The data of get is passed through the url, while the data of post is passed in the send method

B. Receive response in ajax native way:

/*监听服务器的响应*/
xhr.onreadystatechange=function(){
/*判断当前的响应是否成功 1.服务器做出了响应 2.响应的结果是正确的*/
 if(xhr.status==200 && xhr.readyState==4){
 var result=xhr.responseText;
 console.log(result); //输出从服务器中获取到的数据
 //接下来就可以对数据进行相应的处理了
 }
 };
Copy after login
C. Process response data:

 /*监听*/
 xhr.onreadystatechange=function(){
 if(xhr.status==200 && xhr.readyState==4){ /*判断状态*/
 var result;
 /*获取响应报文中的Content-Type*/
 var ct=xhr.getResponseHeader("Content-Type");
 /*判断Content-Type,进行数据的解析*/
 if(ct.indexOf("xml") != -1){
 result=xhr.responseXML;
 }
 else if(ct.indexOf("json") !=-1){
 result=JSON.parse(xhr.responseText);
 }
 else{
 result=xhr.responseText;
 }
 /*调用回调函数--委托--代理*/
 success && success(result);
 }
 };
Copy after login
Ajax encapsulated in jQuery

 $.ajax({
 type: 请求方式(get/post),
 url: "register.php",
 data: 发送请求数据,
 beforeSend:function(){返回false可以取消本次ajax请求},
 success:function(result){ 成功响应后调用 },
 error:function(err){ 错误响应时调用 },
 complete:function(){ 响应完成时调用(包括成功和失败) }
 });
Copy after login
jQuery provides special methods to Serialize form:

$('form').serialize(): //Serialize form (i.e. format key=val & key=val);

3. Response

We need to monitor the response status of the server, and then process the data obtained from the server accordingly.

1) onreadystatechange is one of the

JavaScript events, used to monitor the status of XMLHttpRequest

2) readystate: response status, returns the current status of the XMLHTTP request

readyState State

State description

(0) Not initialized

This phase confirms whether the XMLHttpRequest object is created and calls the open() method Be prepared for uninitialization. A value of 0 indicates that the object already exists, otherwise the browser will report an error - the object does not exist.

(1) Loading

At this stage, the XMLHttpRequest object is initialized, that is, the open() method is called. Complete the setting of the object status according to the parameters (method, url, true). And call the send() method to start sending requests to the server. A value of 1 indicates that a request is being sent to the server.

(2)Loading completed

This stage receives the response data from the server. But what is obtained is only the original data of the server response, and cannot be used directly on the client. A value of 2 indicates that all response data has been received. And prepare for the next stage of data analysis.

(3) Interaction

This stage parses the received server-side response data. That is, according to the MIME type returned by the server-side response header, the data is converted into a format that can be accessed through the responseBody, responseText or responseXML attributes, so as to be ready for invocation on the client. Status 3 indicates that the data is being parsed.

(4)Complete

This stage confirms that all data has been parsed into a format usable by the client. Has been completed. A value of 4 indicates that the data parsing is complete and the data can be obtained through the corresponding attributes of the XMLHttpRequest object.

3) Status: Server response code

Common response code: 200—The server successfully returned the web page

404— The requested web page does not exist

        503—Service Unavailable

For details about the server response code, please see————Network Transfer Protocol (http protocol)

I believe you have read this article You have mastered the case method. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Recommended reading:

Implementation of ajax login function

##Ajax implementation of asynchronous loading

The above is the detailed content of Ajax overview and implementation. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement dual WeChat login on Huawei mobile phones? How to implement dual WeChat login on Huawei mobile phones? Mar 24, 2024 am 11:27 AM

How to implement dual WeChat login on Huawei mobile phones? With the rise of social media, WeChat has become one of the indispensable communication tools in people's daily lives. However, many people may encounter a problem: logging into multiple WeChat accounts at the same time on the same mobile phone. For Huawei mobile phone users, it is not difficult to achieve dual WeChat login. This article will introduce how to achieve dual WeChat login on Huawei mobile phones. First of all, the EMUI system that comes with Huawei mobile phones provides a very convenient function - dual application opening. Through the application dual opening function, users can simultaneously

PHP Programming Guide: Methods to Implement Fibonacci Sequence PHP Programming Guide: Methods to Implement Fibonacci Sequence Mar 20, 2024 pm 04:54 PM

The programming language PHP is a powerful tool for web development, capable of supporting a variety of different programming logics and algorithms. Among them, implementing the Fibonacci sequence is a common and classic programming problem. In this article, we will introduce how to use the PHP programming language to implement the Fibonacci sequence, and attach specific code examples. The Fibonacci sequence is a mathematical sequence defined as follows: the first and second elements of the sequence are 1, and starting from the third element, the value of each element is equal to the sum of the previous two elements. The first few elements of the sequence

PHP and Ajax: Building an autocomplete suggestion engine PHP and Ajax: Building an autocomplete suggestion engine Jun 02, 2024 pm 08:39 PM

Build an autocomplete suggestion engine using PHP and Ajax: Server-side script: handles Ajax requests and returns suggestions (autocomplete.php). Client script: Send Ajax request and display suggestions (autocomplete.js). Practical case: Include script in HTML page and specify search-input element identifier.

How to implement the WeChat clone function on Huawei mobile phones How to implement the WeChat clone function on Huawei mobile phones Mar 24, 2024 pm 06:03 PM

How to implement the WeChat clone function on Huawei mobile phones With the popularity of social software and people's increasing emphasis on privacy and security, the WeChat clone function has gradually become the focus of people's attention. The WeChat clone function can help users log in to multiple WeChat accounts on the same mobile phone at the same time, making it easier to manage and use. It is not difficult to implement the WeChat clone function on Huawei mobile phones. You only need to follow the following steps. Step 1: Make sure that the mobile phone system version and WeChat version meet the requirements. First, make sure that your Huawei mobile phone system version has been updated to the latest version, as well as the WeChat App.

Master how Golang enables game development possibilities Master how Golang enables game development possibilities Mar 16, 2024 pm 12:57 PM

In today's software development field, Golang (Go language), as an efficient, concise and highly concurrency programming language, is increasingly favored by developers. Its rich standard library and efficient concurrency features make it a high-profile choice in the field of game development. This article will explore how to use Golang for game development and demonstrate its powerful possibilities through specific code examples. 1. Golang’s advantages in game development. As a statically typed language, Golang is used in building large-scale game systems.

How to solve the problem of jQuery AJAX error 403? How to solve the problem of jQuery AJAX error 403? Feb 23, 2024 pm 04:27 PM

How to solve the problem of jQueryAJAX error 403? When developing web applications, jQuery is often used to send asynchronous requests. However, sometimes you may encounter error code 403 when using jQueryAJAX, indicating that access is forbidden by the server. This is usually caused by server-side security settings, but there are ways to work around it. This article will introduce how to solve the problem of jQueryAJAX error 403 and provide specific code examples. 1. to make

PHP Game Requirements Implementation Guide PHP Game Requirements Implementation Guide Mar 11, 2024 am 08:45 AM

PHP Game Requirements Implementation Guide With the popularity and development of the Internet, the web game market is becoming more and more popular. Many developers hope to use the PHP language to develop their own web games, and implementing game requirements is a key step. This article will introduce how to use PHP language to implement common game requirements and provide specific code examples. 1. Create game characters In web games, game characters are a very important element. We need to define the attributes of the game character, such as name, level, experience value, etc., and provide methods to operate these

How to get variables from PHP method using Ajax? How to get variables from PHP method using Ajax? Mar 09, 2024 pm 05:36 PM

Using Ajax to obtain variables from PHP methods is a common scenario in web development. Through Ajax, the page can be dynamically obtained without refreshing the data. In this article, we will introduce how to use Ajax to get variables from PHP methods, and provide specific code examples. First, we need to write a PHP file to handle the Ajax request and return the required variables. Here is sample code for a simple PHP file getData.php:

See all articles