Link to home
Start Free TrialLog in
Avatar of mike99c
mike99c

asked on

Ajax call to XMLHttpRequest() returns object not supported error

I have an Ajax function which calls the attached code to return the XML HTTP object.

However I get an error "Object doesn't support this property or method" on the following line:

return new XMLHttpRequest();

This has worked on other websites but I have no idea why it is failing here.
function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
	  {
	  // code for IE7+, Firefox, Chrome, Opera, Safari
	  return new XMLHttpRequest();
	  }
	if (window.ActiveXObject)
	  {
	  // code for IE6, IE5
	  return new ActiveXObject("Microsoft.XMLHTTP");
	  }
	return null;
}

Open in new window

Avatar of Greg Alexander
Greg Alexander
Flag of United States of America image

Try this function
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Open in new window

Avatar of mike99c
mike99c

ASKER

Thanks for this but I still get the same error on the same line.
Avatar of leakim971
What is your browser and which version?

The following work fine for me. Can test it without any modification? Thanks
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript">
	function GetXmlHttpObject()
	{
		if (window.XMLHttpRequest)
		{
			alert("ok1");
			// code for IE7+, Firefox, Chrome, Opera, Safari
			return new XMLHttpRequest();
		}
		if(window.ActiveXObject)
		{
			alert("ok2");
			// code for IE6, IE5
			return new ActiveXObject("Microsoft.XMLHTTP");
		}
		alert("bad1");
		return null;
	}
	window.onload = GetXmlHttpObject;
</script>
</head>
<body>
</body>
</html>

Open in new window

Avatar of mike99c

ASKER

I am using IE8 and I did manageto get your script to work and a variation that is closer to my script.

Perhaps my script is clashing with other script files.
ASKER CERTIFIED SOLUTION
Avatar of leakim971
leakim971
Flag of Guadeloupe image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial