views:

45

answers:

4

I'm trying to find out what data/error jquery's .load() method is returning in the following code (the #content element is blank so I assume there is some kind of error).

  1. Where do I find in Firebug what content or error .load() is returning?
  2. How can I use console.log to find out at least what content is being returned?

alt text

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
    <head>
        <script type="text/javascript"
        src="http://www.google.com/jsapi"&gt;&lt;/script&gt;
        <script type="text/javascript">
            google.load("jquery", "1.3.2");
            google.setOnLoadCallback(function() {
                $('#loadButton').click(loadDataFromExernalWebsite);
            });
            function loadDataFromExernalWebsite() {
                console.log("test");
                $('#content').load('http://www.tanguay.info/web/getdata/index.php?url=http://www.tanguay.info/knowsite/data.txt', function() {
       alert('Load was performed.');
    });
            }
        </script>
    </head>
<body>
    <p>Click the button to load content:</p>
    <p id="content"></p>
    <input id="loadButton" type="button" value="load content"/>
</body>
</html>
+1  A: 

There is no error. Due to SOO (Same Origin Policy) for XMLHttpRequest, since you are requesting from a remote host (not the same domain as your application). XMLHttpRequest will just return nothing.

But if you modify your .load callback method signature to function(response, status, xhr) {...} the data returned will be in response. But in your case there will be nothing there.

Strelok
+1 I agree if the OP is really thinking about Cross Domain...
Reigel
+1  A: 

I would suggest you to install firequery and you can detect easily jquery problem.

Brij
+1  A: 

Try

$("#content").load("http://www.tanguay.info/web/getdata/index.php?url=http://www.tanguay.info/knowsite/data.txt", function(response, status, xhr) {
  if (status == "error") {
    console.log("Error code :" + xhr.status); // error code
    console.log ("Error text :" + xhr.statusText); // error text
  }
});
rahul
+2  A: 

The 'Net' tab of Firebug should show you all HTTP requests (including any from other domains)

webdestroya
thanks very useful
Edward Tanguay