Home > Web Front-end > JS Tutorial > body text

Ajax overview and implementation

php中世界最好的语言
Release: 2018-04-24 15:47:00
Original
1288 people have browsed it

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!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!