Ajax overview and implementation
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 Asynchronous1. 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 experience2. 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 DOM4. 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 data2. 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
xhr.open("get","01-register.php?name="+name);//初始化异步get请求 xhr.send(null); //与服务器建立连接
xhr.open('post','01-XMLHTTPRequest-test.php');//请求报文行 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); /*post请求设置请求头*/ xhr.send('name=rose&age=20'); //请求报文体
/*监听服务器的响应*/ xhr.onreadystatechange=function(){ /*判断当前的响应是否成功 1.服务器做出了响应 2.响应的结果是正确的*/ if(xhr.status==200 && xhr.readyState==4){ var result=xhr.responseText; console.log(result); //输出从服务器中获取到的数据 //接下来就可以对数据进行相应的处理了 } };
/*监听*/ 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); } };
$.ajax({ type: 请求方式(get/post), url: "register.php", data: 发送请求数据, beforeSend:function(){返回false可以取消本次ajax请求}, success:function(result){ 成功响应后调用 }, error:function(err){ 错误响应时调用 }, complete:function(){ 响应完成时调用(包括成功和失败) } });
$('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 theJavaScript events, used to monitor the status of XMLHttpRequest
2) readystate: response status, returns the current status of the XMLHTTP requestreadyState 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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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

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

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 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.

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 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 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

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:
