Solved

Jquery Load function does not work

Posted on 2013-10-25
4
715 Views
Last Modified: 2013-10-25
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
Comment
Question by:unknown_routine
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 33

Assisted Solution

by:Big Monty
Big Monty earned 250 total points
ID: 39601044
try adding a random querystring to the URL to prevent caching:

$("#div1").load("./a.txt?" + (new Date()).getTime());
0
 
LVL 58

Expert Comment

by:Gary
ID: 39601061
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
 
LVL 43

Accepted Solution

by:
Chris Stanyon earned 250 total points
ID: 39601319
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

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that undeā€¦
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question