Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Ajax questions from newbie

Status
Not open for further replies.

clanm

Programmer
Joined
Dec 26, 2005
Messages
237
Location
US
I hope this is the correct forum to use, if not...please let me know.

The error I get is:
Line 78
Char 7

Error: Object Required
Code: 0

The HTML is:
***********
***********
<HTML>
<HEAD>
<title>Ajax</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content=" <script type="text/javascript" src="quickstart.js"></script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="75%" border="1">
<TR>
<TD>
<P>
<INPUT type="text" id="TextBox1" onblur='process()'>
</P>
</TD>
</TR>
<TR>
<TD><div id="showresults" />
</TD>
</TR>
<TR>
<TD>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</TD>
</TR>
</TABLE>
</P>
</form>
</body>
</HTML>

***********
***********
The .js file is:
// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();

// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
// will store the reference to the XMLHttpRequest object
var xmlHttp;
// if running Internet Explorer
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
// if running Mozilla or other browsers
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
// return the created object or display an error message
if (!xmlHttp)


alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}

// make asynchronous HTTP request using the XMLHttpRequest object
function process()
{
// proceed only if the xmlHttp object isn't busy
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
// retrieve the name typed by the user on the form
varWBS = encodeURIComponent(document.getElementById("TextBox1").value);
// execute the quickstart.php page from the server
xmlHttp.open("GET", "quickstart.aspx?WBS=" + varWBS, true);
// define the method to handle server responses
xmlHttp.onreadystatechange = handleServerResponse;
// make the server request
xmlHttp.send(null);
}
else
// if the connection is busy, try again after one second
setTimeout('process()', 1000);
}

// executed automatically when a message is received from the server
function handleServerResponse()
{
// move forward only if the transaction has completed
if (xmlHttp.readyState == 4)
{
// status of 200 indicates the transaction completed successfully
if (xmlHttp.status == 200)
{
// extract the XML retrieved from the server
xmlResponse = xmlHttp.responseXML;
// obtain the document element (the root element) of the XML structure
xmlDocumentElement = xmlResponse.documentElement;
// get the text message, which is in the first child of
// the the document element
helloMessage = xmlDocumentElement.firstChild.data;
// update the client display using the data received from the server
document.getElementById("showresults").innerHTML = helloMessage ;

// restart sequence
setTimeout('process()', 1000);
}
// a HTTP status different than 200 signals an error
else
{
alert("There was a problem accessing the server: " + xmlHttp.statusText);
}
}
}

*****************************
*****************************
The requested page, quickstart.aspx, code behind is:

Try
sCon1.Open()
Dim strRQ As String = Server.HtmlEncode(Request.QueryString("WBS")).ToString()
Dim strSQL As String = "Select count(*) from Table where [Number] = '" & strRQ & "'"
Dim cmd As New SqlCommand(strSQL, sCon1)
Dim intCnt As Integer = cmd.ExecuteScalar()
sCon1.Close()
Response.Write(intCnt)
Catch ex As Exception
Response.Write(ex)
Finally
sCon1.Close()
End Try
 
might help if you say what Line 78 is, because I copied what you had there for the js file and line 78 is a comment
 
Check all your paths and filenames - usually when I get an error at char 0, it means that a file I'm trying to include / reference cannot be found (whether it be an AJAX file or a JS file I'm including).

Hope this helps,
Dan

Coedit Limited - Delivering standards compliant, accessible web solutions

[tt]Dan's Page [blue]@[/blue] Code Couch
[/tt]
 
If I change the page where the user enters data into the text box from a v1.1 ASP.NET page to an .htm page, the functionality works, though I get an "unspecified error" from the .js file @:

// executed automatically when a message is received from the server
function handleServerResponse()
{
// move forward only if the transaction has completed
if (xmlHttp.readyState == 4 || xmlHttp.status == 200)
{//----This is the line where the error is now getting thrown
var response = xmlHttp.responseText;

I'm not too sure why the ASP.NET page won't allow any of the functionality.
 
With another attempt, here's the initial ASP.NET v1.1 page with the AJAX script in the Head tag, and I get the "Unknown error" in the handleServerResponse() when it's assigning "show" it's innnerHTML value:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="AjaxTesting.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content=" <!-- Start script -->
<script>
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
function process()
{
varWBS = encodeURIComponent(document.getElementById("TextBox1").value);
xmlHttp.open("GET", "test.aspx?WBS=" + varWBS);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
function handleServerResponse()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState==200)
{
document.getElementById("show").innerHTML = xmlHttp.responseText;
}
}
</script>
<!-- End script -->
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="get" runat="server">
<TABLE id="Table1" cellSpacing="1"
cellPadding="1" width="75%" border="1">
<TR>
<TD>
<asp:TextBox id="TextBox1" runat="server" onblur='process()'></asp:TextBox></TD>
</TR>
<TR>
<TD>
</TD>
</TR>
<TR>
<TD>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button></TD>
</TR>
</TABLE>
<div id="show"></div>
</form>
</body>
</HTML>


**************
**************
The text.aspx page is simply this for the code behind:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Server.HtmlEncode(Request.QueryString("WBS")).ToString = "1.2.8.5.001" Then
Response.Write("Please enter another WBS!")
Else
Response.Write("You can use this one!")
End If
End Sub
 
Okay, this is now weird.......I'm getting "msxml3.dll: Unspecified Error" for the line:
if (xmlHttp.readyState == 4 || xmlHttp.status == 200)
..via my Script Debugger.

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="AjaxTesting.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content=" <!-- Start script -->
<script language="javascript">
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
function process()
{
varWBS = encodeURIComponent(document.getElementById("TextBox1").value);
xmlHttp.open("GET", "test.aspx?WBS=" + varWBS);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
function handleServerResponse()
{
if (xmlHttp.readyState == 4 || xmlHttp.status == 200)
{
document.getElementById("show").innerHTML = xmlHttp.responseText;
}
}
</script>
<!-- End script -->
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 24px"
runat="server" onblur='process()'></asp:TextBox>
<div id="show" />
</form>
</body>
</HTML>
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top