views:

44

answers:

2

I have a page that uses an AJAX request (using Prototype's Ajax.Request()) to validate something. We keep very detailed logs of all of the requests. Occasionally customers will complain that they are entering something and it is not being validated. In such a case I check the logs searching for their IP address, time of their email, and a description of the information that they tried to have validated.

Sometimes I find that they are not in the logs, which would imply that the AJAX request is not executing.

One example of the most recent case of this has a user string of

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; InfoPath.1)

according the email they sent.

I cannot find them in the log. Is there any reason to suspect that somebody using IE8 would not be able to execute AJAX?

Is there any practical way that I could alter my environment to not support AJAX as well to test some alternatives.

Note this most recent user said that they have tried many times over multiple days so it's not like this is a one-time thing for them or a bad connection, necessarily.

This is a regularly occurring issue that I cannot recreate. Any help would be appreciated. Thanks.

A: 

Does the user have some weird toolbar running? Or maybe some other extensions which might disturb your XMLHttpRequest object, or the Microsoft variants of it?

Ben Fransen
I posted the userstring above in hope that somebody here could tell me that. It seems pretty standard. IE8, Trident, GTB (Google tool bar?), InfoPath. None of these should affect an HTTP request that I know of.
jeffp
+1  A: 

A couple things immediately spring to mind:

  1. They may have JavaScript disabled
  2. It might be timing out.

I know when I've been on a bad connection I've seen Ajax stuff fail, and I close out of the site, and I bet it shows up on the logs similar to what you're seeing.

Jeremy Morgan
In the case of this particular page (which I probably commented above after you already answered) they would need to have Javascript on to do what they are doing in the first place. As for the request timing out, it is not likely that it would happen consistently for a single user (i.e. computer) that is otherwise able to access the internet without trouble.
jeffp
Well, you'd be surprised, there are still a lot of dialup people out there, and ajax works horribly with it. Also timeouts happen quite frequently, about 25% of the time I try to check yahoo weather it times out on me, and I'm on a 20mb FIOS connection.Are you pulling a lot of data with this request? Also as Duroth suggested you could implement onSuccess and onFailure type callbacks, at least to try and narrow down the problem.
Jeremy Morgan