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

Summary of methods to prevent jQuery ajax Load from using cache_jquery

WBOY
Release: 2016-05-16 16:58:39
Original
980 people have browsed it

1. Usage
jquery’s load function is a call that requests another file and loads it into the current DOM. The full format of the load method is: load(url, [data], [callback] ) (note that if there are no parameters, it is a GET request, and if there are parameters, it is a POST method).

* url: refers to the address of the file to be imported.
* data: optional parameters; because Load can not only import static html files, but also dynamic scripts, such as PHP files, so when we want to import dynamic files, we can import The passed parameters are placed here.
* callback: optional parameter; refers to another function that is executed after calling the load method and getting a response from the server.

Caching speeds up page loading to a certain extent, but it often brings us trouble. In my previous article, I briefly introduced the use of the Load method in jQuery. In actual application, we may encounter browser cache problems. For example, I encountered this problem in IE7.

jQuery Load sample code:

Copy code The code is as follows:

$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//When the page is loaded, in the ID Insert the content of labels.html into the DOM element of #labels
});

After I updated labels.html, the load method in IE7 still uses the old labels. html, it doesn't work even if I press the refresh key. Fortunately, jQuery provides a method to prevent ajax from using cache. Add the following statement to the head javascript file to solve the problem.
Copy code The code is as follows:

$.ajaxSetup ({
cache: false / /Close the AJAX corresponding cache
});

In addition, I will introduce several methods to solve the cache problem. Note: I have not tested on jQuery load issues, these methods are for reference only!

1. Change the file name, such as changing labels.html to labels_new.html, but this is a no-brainer and generally no one does this.

2. Add a specific time after labels.html, such as labels.html?20081116. In actual work, after I update the css/javascript file, I always use this method to prevent the file from being cached.

3. Add the following statement at the top of the labels.html file:


4. The load function can not only call HTML, but also call script, such as labels.php. You can use the header function in the php file:

Copy code The code is as follows:

header("Cache-Control: no-cache, must-revalidate");
?>

Two other solutions:
Add a time parameter value to the current time in the request path or add a hidden one in the form Field sets the field's value to the current time.
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