Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery .load() not working in Chrome

Tags:

.load() was working fine, but for some reason it's not in Chrome now (presumably some kind of update). I'm on Chrome 5.0.375.55. I've isolated the problem to this:

index.htm

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function () {
          $('#reader').load('test.htm');
      });
    </script>

  </head>
  <body>
    <div id='reader'>Loading ...</div>
  </body>
</html>

test.htm

<h1>Loaded successfully</h1>

This works on Firefox and IE, but on Chrome it replaces the contents of the #reader div with nothing.

Edit: I should add that I'm running this locally, and it's never going to be deployed on a web server.

Edit2: I've tried .load('file:///C:/path/to/test.htm') which works in FF but not Chrome.

like image 708
Skilldrick Avatar asked Jun 07 '10 14:06

Skilldrick


3 Answers

It's the "same origin policy" as interpreted by Chrome (or a bug with the same effect). Try running Chrome with --allow-file-access-from-files.

like image 108
Ken Redler Avatar answered Sep 21 '22 18:09

Ken Redler


I've the same problem, but you may find it works if you upload it to a web server. I've tested it and it done when i upload test page to server.

like image 22
Duc Manh Nguyen Avatar answered Sep 22 '22 18:09

Duc Manh Nguyen


Neither --disable-web-security nor --allow-file-access-from-files worked for me, although I found that using '127.0.0.1' instead of 'localhost' solved the problem.

like image 34
JwC Avatar answered Sep 23 '22 18:09

JwC