Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 800
  • Last Modified:

Jquery Load function does not work

I have this code:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("./a.txt");
  });
});
</script>
</head>
<body>

<div id="div1"><h2>Let jQuery AJAX Change This Text2</h2></div>
<button>Get External Data</button>

</body>
</html>

Open in new window

enter code here
But after clicking on button nothing happens. I also tried load("/a.txt"); Still no luck.

Tried different browsers, no success.

*Update*:

====================================================

I managed to resolve the above issue(partially) by putting the files inside the Web server.

Now I have another related issue. Button that runs Jquery only seem to work only once. That is when I change the contents of the text file and click on the Button I always see the text of the old file. I suppose browser caches Jquery loaded data?
0
unknown_routine
Asked:
unknown_routine
2 Solutions
 
Big MontySenior Web Developer / CEO of ExchangeTree.org Commented:
try adding a random querystring to the URL to prevent caching:

$("#div1").load("./a.txt?" + (new Date()).getTime());
0
 
GaryCommented:
Any reason to use a text file? If you use a .php extension (even though it is just text) it will not be cached unlike txt files which are seen as static files (never changing)

How is the a.txt changing from when you previously click the button? (and I don't mean just by you changing it)

Or you could call a single php file that includes the txt file.
0
 
Chris StanyonCommented:
The jQuery load() function is simply a shorthand method for an AJAX request. If you want more control than the shorthand syntax offers (i.e disabling caching) then you're going to need to use the full version, not the shorthand:

$("button").click(function(){
   $.ajax( {
      url: "./a.txt",
      cache: false,
      success: function(html) {
         $("#div1").html(html);
      }
   });
});

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now