Microsoft.XMLHTTP problem

B

Botan Guner

Hi all,

Here is the problem, i'm using Microsoft.XMLHTTP for ie and
XMLHttpRequest for mozilla, on my local server which is win2000 server
i've no problem with that but when i uploaded the file to the web
server of our company which is redhat 9 i still have no problem with
mozilla but the ie gives an error like this,

System error: -1072896658

I have no clue what that means but as i sad the same page work fine on
my local server. On our rh9 server the site works over https, is
Microsoft.XMLHTTP does any security issues about https?

And my code is;
<scrip...
var xmlhttp=false;
function getData(u,m,n) {
if (window.ActiveXObject)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
xmlhttp.open("GET", u, true);
xmlhttp.onreadystatechange=function() {
do
{
document.getElementById(n).innerHTML=m;
}
while(xmlhttp.readyState==200)
if (xmlhttp.readyState==4) {
document.getElementById(n).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.send(null)
}
</...>

Thanks for helping,
 
M

Martin Honnen

Botan Guner wrote:

Here is the problem, i'm using Microsoft.XMLHTTP for ie and
XMLHttpRequest for mozilla, on my local server which is win2000 server
i've no problem with that but when i uploaded the file to the web
server of our company which is redhat 9 i still have no problem with
mozilla but the ie gives an error like this,

System error: -1072896658

For which line/statement of your code does it give that error?
xmlhttp.onreadystatechange=function() {
do
{
document.getElementById(n).innerHTML=m;
}
while(xmlhttp.readyState==200)

readyState takes values of 0, 1, 2, 3, 4 so I don't know why you check
for the value 200. And a blocking while loop in an event handler is not
a good idea as that way other events could not be processed. But in your
case the loop will not block as the condition readyState == 200 is never
true so while you should remove that loop that is not likely solving the
error problem you have.
 
B

Botan Guner

It gives at line;

document.getElementById(n).innerHTML=xmlhttp.responseText;

and if i set the readyState anything other then 200 it stops responding
 
M

Martin Honnen

Botan said:
It gives at line;

document.getElementById(n).innerHTML=xmlhttp.responseText;

and if i set the readyState anything other then 200 it stops responding

You are setting readyState? Not sure what that is supposed to be good for.
As for that line, how does responseText look when the error occurs?

Also consider checking
xmlhttp.status
and
xmlhttp.statusText
perhaps something goes wrong with the HTTPS access and the HTTP status
message tells what goes wrong.
 
B

Botan Guner

I thing HTTPS access is my main problem because this script works good
on my local server and remote server (with mozilla) the only problem is
browsing the page with internet explorer. Mozilla outputs nothing. I
wish it generates an error nothing can be understood from the error
that internet explorer gives.
 
M

Martin Honnen

Botan said:
I thing HTTPS access is my main problem because this script works good
on my local server and remote server (with mozilla) the only problem is
browsing the page with internet explorer. Mozilla outputs nothing. I
wish it generates an error nothing can be understood from the error
that internet explorer gives.

Even over HTTPS the response has
status
statusText
and you could check them to find out more as to what goes wrong.
 
B

Botan Guner

i have checked ;
xmlhttp.status=200
xmlhttp.statusText=OK
wrote and error dialog opened.
 
M

Martin Honnen

Botan said:
i have checked ;
xmlhttp.status=200
xmlhttp.statusText=OK

The HTTP(S) works fine then,
wrote and error dialog opened.

we would need to look then into the responseText and the assignment.
Do you get that error too when you do not assign to innerHTML but
instead simply
alert(xmlhttp.responseText)
?
 
B

Botan Guner

when i wrote,

alert(xmlhttp.responseText);

before the,
documen....getElemen...innerHTML=xmlhttp.responseText;

it gives an empty alert so responseText is empty but at the same time
when i request the same page from my local server it alerts the code
returned from the requested page.
 
V

VK

You may want to start with this very generic script (the actual call
for getData is up to you). If it works, then the problem with your
script, not with Hedhat.


<script>
var XDataReader = null;

function getData(u,m,n) {
if (window.ActiveXObject) {
XDataReader = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
XDataReader = new XMLHttpRequest();
}
else {
/*NOP*/
}
if (XDataReader != null) {
XDataReader.open("GET", u, true);
XDataReader.onreadystatechange = checkState;
XDataReader.send(null);
}
}

function checkState() {
if (XDataReader.readyState == 4) {
if ((XDataReader.status == 200)||(XDataReader.status == 0)) {
// Status 0 is given in IE if you load a file
// from your local file system. If you don't
// need to debug it there, you may remove it
XDataReader.onreadystatechange = foo;
// Lock the event handler for Opera,
// which gives sometimes double bubble
// for the same event
alert(XDataReader.responseText);
}
}
}

function foo() {
/*NOP*/
}
</script>
 
R

Richard Cornford

VK said:
You may want to start with this very generic script ...
<script>
var XDataReader = null;

function getData(u,m,n) {
if (window.ActiveXObject) {
XDataReader = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
XDataReader = new XMLHttpRequest();
}
else {
/*NOP*/
}
if (XDataReader != null) {
XDataReader.open("GET", u, true);
XDataReader.onreadystatechange = checkState;
XDataReader.send(null);
}
}
<snip>

Using a single global variable to store a reference to the
XMLHttpRequest object while making asynchronous requests is a recipe for
disaster.

Richard.
 
J

Jeff

Use the MS Script Editor included free with MS Office 2002 and above,
for debugging Internet Explorer (IE).

This subject is of great interest to many JS developers, as there is no
obvious, low cost way to do sophisticated debugging in
IE6 other than to use the debugger described below, which is horribly
documented otherwise. I feel debugging is an important aspect of
projecting the useability of the language and needs to be made more
clear for new users.


Jeff Papineau
(e-mail address removed)


<FAQENTRY>

This is a page that describes how to install and use the MS Script
Editor to debug Javascript in Internet Explorer ( IE ). It has a
powerful debugger built into it that works really well for developers
supporting IE5+. This debugger/editor included with most versions of
Microsoft Office.

http://www.mandala.com/javascript/debug_javascript.html

..NET programmers may have better tools (VStudio) but this comes in
really handy for anyone developing with JSP and PHP and other dynamic
scripting languages which embed javascript, as well as any HTML page
using Javascript in Internet Explorer that needs a (almost) free
debugging environment.

</FAQENTRY>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top