nloding Posted February 21, 2007 Share Posted February 21, 2007 Here's how I call this code ... it's my wrapper for Ajax: var ajax = new XMLHttp(); ajax.get('myscript.php?variable=value'); When I run that, I get the error in Firefox's Error Console that ajax.get is not a function. So I've checked this code ten times and I see nothing wrong. It's almost copied exactly from an example I saw online, and that example works (so says the author, it's from About.com). Here's all the pertinent javascript code: function XMLHttp() { if (window.XMLHttpRequest) { // If we have a Gecko browswer? return new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE is more difficult ... var avers = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"]; for (var i = avers.length -1; i >= 0; i--) { try { httpObj = new ActiveXObject(avers[i]); return httpObj; } catch(e) {} } } // And what if the the browser sucks? alert("Your broswer is too old. Consider upgrading!"); } XMLHttp.prototype.get = function(url, element) { this.open('GET', url, true); this.onreadystatechange = function() { this.processRequest(element); } this.send(null); } XMLHttp.prototype.processRequest = function(element) { if (this.readyState == 4 && this.status == 200) { findElement(element).innerHTML = this.responseText; } } function findElement(target) { var targetElem = document.getElementById(target); if(!targetElem) { targetElem = getElementsByClassName(document, "*", target); } return targetElem; } The XMLHttp() function works fine, as I can use ajax.open and ajax.onreadystatechange. But I can't use ajax.get ... I've tried calling the XMLHttp() function without "new" before it ... I'm lost ... what's wrong with that code? Link to comment https://forums.phpfreaks.com/topic/39399-not-a-function-why/ Share on other sites More sharing options...
fenway Posted February 21, 2007 Share Posted February 21, 2007 No idea... maybe something magical about hte name. Link to comment https://forums.phpfreaks.com/topic/39399-not-a-function-why/#findComment-190228 Share on other sites More sharing options...
nloding Posted February 21, 2007 Author Share Posted February 21, 2007 Yeah, that's totally not fair! I keep getting the 0x80040111 Firefox error because for some reason my abort() commands aren't killing my Ajax connection ... so I get weird errors and timeouts when calling the Ajax object more than once. I'm wondering if that's the reason. But if I close the browser, clear all private data, and try again, same deal -- same error "ajax.get is not a function". I'm totally lost. There's nothing wrong with that code. I'll change my "ajax" var to "myObj", and "XMLHttp" to "reqObj" or something and see what happens, but that shouldn't make a difference. Those aren't restricted names. Link to comment https://forums.phpfreaks.com/topic/39399-not-a-function-why/#findComment-190403 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.