Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#1985 closed defect (invalid)

io.bind() not working on Firefox 2.0

Reported by: guest Owned by: James Burke
Priority: high Milestone:
Component: IO Version: 0.4
Keywords: Cc:
Blocked By: Blocking:

Description

Since I'm a Dojo newbie, I asked in a few other places before submitting this - but no one could find what was wrong. I also tried searching for duplicate bugs/problems here but didn't see any.

The following does not work on FF 2.0, Win XP SP2. It does work on IE 6.

When I try running in FF 2.0, the alert outputted contains the text: "error: XMLHttpTransport Error: 0" - which doesn't seem like an error code.

a.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
          var djConfig = { isDebug: true };
     </script>
     <script type="text/javascript" src="js/dojo/dojo.js"></script>
     <script type="text/javascript">
          dojo.require("dojo.event.*");
          dojo.require("dojo.io.*");
     </script>

     <script type="text/javascript">
          function doBind(evt)
          {
               var bindArgs = {
                    url: "a.php",
                    load: function(type, data, evt)
                    {
                         alert("success");
                    },
                    error: function(type, err)
                    {
                         alert("error: " + err.message);
                    },
                    mimetype: "text/plain"
               };

               dojo.io.bind(bindArgs);
          }
     </script>

     <script type="text/javascript">
          function initEventHandlers()
          {
               dojo.event.connect(dojo.byId("btnTest"), "onclick", "doBind");
          }
     </script>

     <script type="text/javascript">
          dojo.addOnLoad(initEventHandlers);
     </script>
</head>
<body>
     <form id="frmLogin">
          <button id="btnTest">Test</button>
     </form>
</body>
</html>

a.php

<?php

header("Content-Type: text/plain; charset=utf-8");

print("TEST MESSAGE");

?>

Change History (7)

comment:1 Changed 13 years ago by James Burke

Milestone: 0.4.1
Owner: changed from alex to James Burke

comment:2 Changed 13 years ago by James Burke

Resolution: invalid
Status: newclosed

We have a unit test in Dojo that does effectively the same thing, fetches a text/plain file and displays the result. It seems to work for Firefox 2.0:

http://download.dojotoolkit.org/release-0.4.0/dojo-0.4.0-ajax/tests/io/test_BrowserIO.html

You will see some popups, but they are testing back/forward support. The bind call itself is fine.

My guess is maybe a problem with PHP configuration. Try your same test, but instead of fetching a.php, fetch a.txt with the "TEST MESSAGE" in that text file.

Closing as invalid, but feel free to reopen if you have a test case that fails with a simple text file.

comment:3 Changed 13 years ago by guest

Resolution: invalid
Status: closedreopened

I did as you suggested - changed the "url" parameter in the doBind() function from a.php to a.txt, renamed the file accordingly, and changed the contents to simply "TEST MESSAGE" (i.e., no HTTP headers) - but the test still fails in the same exact way.

I tried adding 'method = "post"' to the bindArgs parameters but got the same result.

I noticed that I did not mention before that the web server is IIS (5.1) and is local.

Still hoping there's a simple explanation...

comment:4 Changed 13 years ago by guest

Don't know if this information helps or not - when I tried the above on IE 6 with the added 'method = "post"' parameter I got:

'error: XMLHttpTransport Error: 405 Method not allowed'

(Removing the 'method="post"' parameter fixed the problem - on IE only.)

comment:5 Changed 13 years ago by alex

Resolution: invalid
Status: reopenedclosed

this is clearly not our bug. Please do not reopen unless there's actual evidence that the tests fail or that you can produce a test case that fails for some reason other than configuration error. Firebug can help you diagnose these issues.

comment:6 Changed 13 years ago by guest

Sorry for wasting everyone's time (except mine). Looking forward to more complete docs - I'm sure you'll get fewer annoying newbie questions/non-bugs then.

comment:7 Changed 12 years ago by (none)

Milestone: 0.4.1

Milestone 0.4.1 deleted

Note: See TracTickets for help on using tickets.