I think I found a problem when the ajax open functions do not work properly in google chrome after updating version 28.0.1500.72. This problem was originally detected using the embedded web server as a server, but I was also able to reproduce it on the apache web server.
The problem occurs when I call ajaxObject.open ("GET", "URL", true). This usually works, but sometimes the client computer that runs javascript will not issue a GET request for the URL (this was confirmed with wirehark). At this point, ajaxObject.readyState changes from 1 to 2 to 4, as if it had sent the request correctly and received a response. This problem has not previously occurred with Chrome, and it is not an IE or firefox problem. Interestingly, on a successful call, ajaxObject.readyState goes from 1, to 2, to 3, to 4.
We hard-coded the headers on the embedded web server so as not to cache the requested page retrieved using ajax, since we need to request the page again and again and update its contents. To duplicate this function on apache, I added:
<FilesMatch ".(shtml|html|js|css)$"> Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Pragma "no-cache" </FilesMatch>
to the httdp-conf file.
Below is the html page where I can reproduce the problem.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <head> <script type="text/javascript"> function newAjaxObject() { var xmlHttp; try { </script> </head> <body onload="queueStatusUpdate();"> </body> </html>
This is the response text that should be on the status.shtml page:
{"status":"Valid Data"}


Using the Network tab in the chrome debugger, go to the page and click Refresh until you see that it stops requesting status.shtml and an error occurs.


I believe this is a problem with Chrome, but I thought I would post it here before posting it as an error for them just in case I miss something simple.
Also, changing the asynchronous request to a synchronous request fixes the problem, but this is not the route I want to take.
Thanks!