Detailed introduction to events in jQuery Ajax_jquery
Ajax triggers many events.
There are two kinds of events, one is local event and the other is global event:
Local events: called and allocated through $.ajax.
$.ajax({
beforeSend: function(){
// Handle the beforeSend event
},
Complete: function(){
// Handle the complete event
}
// ...
});
Global events can be bound using bind and unbind can be used to unbind. This is similar to click/mousedown/keyup and other events. But it can be passed to every DOM element.
$("#loading").bind("ajaxSend", function(){ //Use bind
$(this).show();
}).ajaxComplete(function(){ //Use ajaxComplete directly
$(this).hide();
});
Of course, if you don’t want a global event to be generated for a certain Ajax request, you can set global:false
$.ajax({
URL: "test.html",
global: false,
// ...
});
The sequence of events is as follows:
ajaxStart global event
Starts a new Ajax request and no other Ajax requests are in progress at this time.
beforeSend local event
Fired when an Ajax request starts. You can set the XHR object here if needed.
ajaxSend global event
Global event triggered before request starts
success local event
Triggered when the request is successful. That is, the server does not return an error, and the returned data has no errors.
ajaxSuccess global event
Global request successful
error local event
Only triggered when an error occurs. You cannot execute both success and error callback functions at the same time.
ajaxError global event
Globally triggered when an error occurs
complete local event
Regardless of whether your request succeeds or fails, even if it is a synchronous request, you can trigger this event when the request is completed.
ajaxComplete global event
Triggered when the global request is completed
ajaxStop global event
Fires when no Ajax is in progress.
The parameters of local event callbacks are clearly written in the documentation, so I won’t go into details here.
In the global event, except ajaxStart and ajaxStop, other events have 3 parameters
event, XMLHttpRequest, ajaxOptions
The first is an event, the second is an XHR object, and the third parameter is the most useful, it is the parameter when calling this ajax.
For ajaxError, there is a fourth parameter, thrownError, which will only be passed when an exception occurs.
We can use ajaxOptions to write a global ajax event.
For example
$("#msg").beforeSend(function(e,xhr,o) {
$(this).html("Requesting" o.url);
}).ajaxSuccess(function(e,xhr,o) {
$(this).html(o.url "Request successful");
}).ajaxError(function(e,xhr,o) {
$(this).html(o.url "Request failed");
});
For this example,
In this way, we can easily display the current ajax status somewhere globally.
Of course, as mentioned before, the third parameter is actually the parameter passed to ajax. Methods such as get/post/load/getScript/getJSON essentially call ajax methods, so the ajaxOptions.url attribute is always valid.
There are many more examples.
If you call with ajax, you can also pass custom parameters. In the following example, I customized a msg parameter for the ajax call
//Custom parameter msg
$.ajax({url:"test1.html",type:"get",msg:"page one"});
$.ajax({url:"test2.html",type:"get",msg:"Page 2"});
$.ajax({url:"test3.html",type:"get",msg:"page three"});
$.ajax({url:"test4.html",type:"get",msg:"Page 4"});
//Here you can get the custom parameter msg.
//This can be used to treat different ajax requests differently.
$("#msg").beforeSend(function(e,xhr,o) {
$(this).html("Requesting" o.msg);
}).ajaxSuccess(function(e,xhr,o) {
$(this).html(o.msg "Request successful");
}).ajaxError(function(e,xhr,o) {
$(this).html(o.msg "Request failed");
});
Finally, there is something to say about the load method.
Other simple ajax methods, such as get, post, getJSON, etc., their callback functions are all set with success callbacks.
And only the load setting is actually the complete callback.
So, the callback function set in load should have 2 parameters.
XMLHttpRequest and textStatus
But that's not actually the case.
The load callback has three parameters
XMLHttpRequest.responseText, textStatus, XMLHttpRequest
So, you can
in the callback of load
Use textStatus=="success" or textStatus=="error" to determine whether the call is successful.
Or use the XMLHttpRequest.status attribute to determine whether it is 200 or 404 or something else.
In this regard, I think it is more advanced than ordinary get/post methods. It is impossible to set the error of each get in odd numbers. But setting a global ajaxError is actually a good choice.

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











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 use PUT request method in jQuery? In jQuery, the method of sending a PUT request is similar to sending other types of requests, but you need to pay attention to some details and parameter settings. PUT requests are typically used to update resources, such as updating data in a database or updating files on the server. The following is a specific code example using the PUT request method in jQuery. First, make sure you include the jQuery library file, then you can send a PUT request via: $.ajax({u

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:

Title: jQuery Tips: Quickly modify the text of all a tags on the page In web development, we often need to modify and operate elements on the page. When using jQuery, sometimes you need to modify the text content of all a tags in the page at once, which can save time and energy. The following will introduce how to use jQuery to quickly modify the text of all a tags on the page, and give specific code examples. First, we need to introduce the jQuery library file and ensure that the following code is introduced into the page: <

Title: Use jQuery to modify the text content of all a tags. jQuery is a popular JavaScript library that is widely used to handle DOM operations. In web development, we often encounter the need to modify the text content of the link tag (a tag) on the page. This article will explain how to use jQuery to achieve this goal, and provide specific code examples. First, we need to introduce the jQuery library into the page. Add the following code in the HTML file:

Ajax (Asynchronous JavaScript and XML) allows adding dynamic content without reloading the page. Using PHP and Ajax, you can dynamically load a product list: HTML creates a page with a container element, and the Ajax request adds the data to that element after loading it. JavaScript uses Ajax to send a request to the server through XMLHttpRequest to obtain product data in JSON format from the server. PHP uses MySQL to query product data from the database and encode it into JSON format. JavaScript parses the JSON data and displays it in the page container. Clicking the button triggers an Ajax request to load the product list.

jQuery is a popular JavaScript library that is widely used to handle DOM manipulation and event handling in web pages. In jQuery, the eq() method is used to select elements at a specified index position. The specific usage and application scenarios are as follows. In jQuery, the eq() method selects the element at a specified index position. Index positions start counting from 0, i.e. the index of the first element is 0, the index of the second element is 1, and so on. The syntax of the eq() method is as follows: $("s

In order to improve Ajax security, there are several methods: CSRF protection: generate a token and send it to the client, add it to the server side in the request for verification. XSS protection: Use htmlspecialchars() to filter input to prevent malicious script injection. Content-Security-Policy header: Restrict the loading of malicious resources and specify the sources from which scripts and style sheets are allowed to be loaded. Validate server-side input: Validate input received from Ajax requests to prevent attackers from exploiting input vulnerabilities. Use secure Ajax libraries: Take advantage of automatic CSRF protection modules provided by libraries such as jQuery.
