Try reorganizing your script tags and see if that helps:
<script type="text/javascript" src="Scripts/jquery-1.7.1.js"></script>
<script type="text/javascript">
var xmlHttpRequestObject;
function getResponse() {
xmlHttpRequestObject = $.ajax({
url: "http://L45723:1802",
username: "server",
password: "server123",
async: true,
contentType: "application/xml",
complete: function () {
if (jqXHR.readyState == 4) {
var msgDiv = document;
var status = jqXHR.status;
var txt = jqXHR.responseText;
var xmldoc = new XMLDocument();
xmldoc.loadXML(txt);
var messageNodes = xmldoc.getElementsByTagName("Message");
var numMessages = messageNodes.length;
for (i = 0; i < numMessages; i++) {
var msgNode = messageNodes[i].text;
document.getElementById("_receiveCometMsg").innerHTML += msgNode.toString();
}
}
}
});
}
</script>
though it not clear why the readyState check. just use success which has already done the check. also why load a new xml dom, when jqXHR already has one? also if you just used success you could just write:
success: function(xml) {
var html = "";
$.each(xml.getElementsByTagName("Message"),function() {
html += this.text;
});
$("_receivingCometMsg").html(html);
}
derricklau
Member
22 Points
29 Posts
Why does jQuery function throw an undefined error?
Feb 28, 2012 07:55 PM|LINK
I have a page that contains a single jQuery function:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowCometJQuery.aspx.cs" Inherits="MetroLinx.Web.ShowCometJQuery" %> <!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 runat="server"> <title></title> <script type="text/javascript" src="Scripts/jquery-1.7.1.js" > var xmlHttpRequestObject; function getResponse() { xmlHttpRequestObject = $.ajax({ url: "http://L45723:1802", username: "server", password: "server123", async: true, contentType: "application/xml", complete: function () { if (jqXHR.readyState == 4) { var msgDiv = document; var status = jqXHR.status; var txt = jqXHR.responseText; var xmldoc = new XMLDocument(); xmldoc.loadXML(txt); var messageNodes = xmldoc.getElementsByTagName("Message"); var numMessages = messageNodes.length; for (i = 0; i < numMessages; i++) { var msgNode = messageNodes[i].text; document.getElementById("_receiveCometMsg").innerHTML += msgNode.toString(); } } } }); } </script> </head> <body onload="getResponse()"> <form id="form1" runat="server"> <div> <asp:Label runat="server" ID="_receiveCometMsg" /> </div> </form> </body> </html>It calls a COMET service which I wrote and posted here:
http://derrickswebapps.codeplex.com
However, when I load the page in the debugger, it keeps throwing a function not defined error. Why?
dakvikas
Member
133 Points
101 Posts
Re: Why does jQuery function throw an undefined error?
Feb 28, 2012 09:16 PM|LINK
are you sure jquery is load perfectly ?
you can check into console tab in firebug or chrome using Inspect element.
i hope this help.
Thanks
Spinarooni
Member
198 Points
34 Posts
Re: Why does jQuery function throw an undefined error?
Feb 29, 2012 01:42 AM|LINK
Try reorganizing your script tags and see if that helps:
<script type="text/javascript" src="Scripts/jquery-1.7.1.js"></script> <script type="text/javascript"> var xmlHttpRequestObject; function getResponse() { xmlHttpRequestObject = $.ajax({ url: "http://L45723:1802", username: "server", password: "server123", async: true, contentType: "application/xml", complete: function () { if (jqXHR.readyState == 4) { var msgDiv = document; var status = jqXHR.status; var txt = jqXHR.responseText; var xmldoc = new XMLDocument(); xmldoc.loadXML(txt); var messageNodes = xmldoc.getElementsByTagName("Message"); var numMessages = messageNodes.length; for (i = 0; i < numMessages; i++) { var msgNode = messageNodes[i].text; document.getElementById("_receiveCometMsg").innerHTML += msgNode.toString(); } } } }); } </script>bruce (sqlwo...
All-Star
36822 Points
5441 Posts
Re: Why does jQuery function throw an undefined error?
Feb 29, 2012 03:02 AM|LINK
nowhere do you define jqXHR. it shoudl be
complete: function (jqXHR) {
}
though it not clear why the readyState check. just use success which has already done the check. also why load a new xml dom, when jqXHR already has one? also if you just used success you could just write:
success: function(xml) {
var html = "";
$.each(xml.getElementsByTagName("Message"),function() {
html += this.text;
});
$("_receivingCometMsg").html(html);
}