We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Lolu chungechunge lwabekwa kunqolobane. Uyacelwa ubuze umbuzo omusha uma udinga usizo.

xmlHttpRequest AJAX not returning message from COMET server

more options

I have the following COMET client javascript code:


          function getResponse() {
               document.getElementById("_receivedMsgLabel").innerHTML += "getResponse() called.
"; if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open("GET", "http://L45723:1802?callback=testcallback", true); //must use this URL at work. receiveReq.onreadystatechange = handleReceiveMessage; alert("handleReceiveMessage assigned to onreadystatechange event."); receiveReq.overrideMimeType("text/x-json"); receiveReq.timeout = 100000; var currentDate = new Date(); var sendMessage = JSON.stringify({ SendTimestamp: currentDate, Message: "Message 1", Browser: navigator.appName, OriginUrl: document.URL }); var sendMessage = "SendTimestamp=" + currentDate + "&Message=Message1&Browser=" + navigator.userAgent; alert("JSON message created. About to send..."); receiveReq.send(sendMessage); alert("Message sent.");
               }
           }
           //function for handling the return message from Comet
           function handleReceiveMessage() {
               document.getElementById("_receivedMsgLabel").innerHTML += "Status=" + receiveReq.status;
               document.getElementById("_receivedMsgLabel").innerHTML += "responseText=" + receiveReq.responseText;
               
               if (receiveReq.readyState == 4 && receiveReq.status == 200) {
                   document.getElementById("_receivedMsgLabel").innerHTML += "Message received!
"; var status = receiveReq.status; var txt = receiveReq.responseText; document.getElementById("_receivedMsgLabel").innerHTML += txt + "
"; mTimer = setTimeout("getResponse();", 0); }
               getResponse();
           }

The GET request is sent and received by the COMET server, which sends the response back when I choose to. The handleReceiveMessage() function is called, but the message the server sent is not in the xmlHttpRequest.responseText property.

Why?

I have the following COMET client javascript code: function getResponse() { document.getElementById("_receivedMsgLabel").innerHTML += "getResponse() called.<br/>"; if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { receiveReq.open("GET", "http://L45723:1802?callback=testcallback", true); //must use this URL at work. receiveReq.onreadystatechange = handleReceiveMessage; alert("handleReceiveMessage assigned to onreadystatechange event."); receiveReq.overrideMimeType("text/x-json"); receiveReq.timeout = 100000; var currentDate = new Date(); var sendMessage = JSON.stringify({ SendTimestamp: currentDate, Message: "Message 1", Browser: navigator.appName, OriginUrl: document.URL }); var sendMessage = "SendTimestamp=" + currentDate + "&Message=Message1&Browser=" + navigator.userAgent; alert("JSON message created. About to send..."); receiveReq.send(sendMessage); alert("Message sent."); } } //function for handling the return message from Comet function handleReceiveMessage() { document.getElementById("_receivedMsgLabel").innerHTML += "Status=" + receiveReq.status; document.getElementById("_receivedMsgLabel").innerHTML += "responseText=" + receiveReq.responseText; if (receiveReq.readyState == 4 && receiveReq.status == 200) { document.getElementById("_receivedMsgLabel").innerHTML += "Message received!<br/>"; var status = receiveReq.status; var txt = receiveReq.responseText; document.getElementById("_receivedMsgLabel").innerHTML += txt + "<br/>"; mTimer = setTimeout("getResponse();", 0); } getResponse(); } The GET request is sent and received by the COMET server, which sends the response back when I choose to. The handleReceiveMessage() function is called, but the message the server sent is not in the xmlHttpRequest.responseText property. Why?

All Replies (1)

more options

I suggest continuing the discussion in your thread on mozillaZine, since this site focuses more on end-user support.

xmlHttpRequest object - mozillaZine Forums