AJAX vill inte fungera
Jag försöker göra en lösning i AJAX, detta vill sig dock inte och jag behöver nog lite hjälp. Denna kod har jag.
<code>
<!-- Here comes the server script... -->
<%
var conn = Server.CreateObject("ADODB.Connection");// Creates the connection object...
var rs = Server.CreateObject("ADODB.RecordSet"); // Creates the recordset object...
conn.Open("Driver={SQL Native Client};Server=localhost;Database=wislunds;UID=BLABLA;PWD=BLABLA;" );// Connection string...
rs = conn.Execute("getCat"); // Executes the stroed procedure...
while(rs.EOF == false) // Reads as long as there are rows to read...
{
%>
<tr>
<td>
<%=rs("category") %>
</td><!-- Shows the category on screen... -->
</tr>
<%
rs.MoveNext(); // The recordset moves to the next row...
}
// Closes and clean up recordset and connection...
rs.Close();
rs = null;
conn.Close();
conn = null;
%>
</code>
Denna kod fungerar och hämtar ut de värden jag vill.
Här är mitt javascript
<code>
function showProd(id)
{
var xmlHttp = GetXmlHttpObject();
if(xmlHttp == null)
{
alert("Din webläsare stöder inte HTTP request");
return;
}
var myUrl = "showProducts.asp";
url = url + "?prodID=" + id;
xmlHttp.onreadystatechange = stateChanged;
xmlhttp.Open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
document.getElementById("myTest").innerHTML=xmlHttp.responseText;
}
</code>
Jag tror att det är nåt som går snett här. Men jag kan inte komma på vad som är fel.
Min sista fil ser ur så här
<code>
<%
var myID = parseInt(Request.QueryString("catID"));
var conn = Server.CreateObject("ADODB.Connection");// Creates the connection object...
var rs = Server.CreateObject("ADODB.RecordSet"); // Creates the recordset object...
conn.Open("Driver={SQL Native Client};Server=localhost;Database=wislunds;UID=BLABLA;PWD=BLABLA;" );// Connection string...
rs = conn.Execute("getProducts " & myID); // Executes the stroed procedure...
response.Write("<table>");
do
{
for(prod in rs.Fields)
{
response.write("<tr><td>" & prod.prodName & "</td></tr>")
}
}
while(rs.EOF == false);
%>
</code>
När jag klickar på länkarna händer inget mer än att sidan laddas om. Troligen så är väl det mesta fel. Vet inte om jag har lagt det i rätt forum.
Svara
Sv: AJAX vill inte fungera
Du har skrivit <b>xmlhttp.Open("GET", url, true);</b>. Byt till litet O.
Svara
Sv: AJAX vill inte fungera
Du söte tid, jag har fått det att fungera. Men det är något som blir fel när jag skickar med parametern till min SP. Är det någon som kan se vad det är? Jag får detta felmeddelande:
<b>Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][SQL Native Client][SQL Server]Incorrect syntax near '0'.
/wislunds2/products/showProducts.asp, line 13
</b>
<code>
<%
var myID = parseInt(Request.QueryString("prodID"));
var conn = Server.CreateObject("ADODB.Connection");// Creates the connection object...
var rs = Server.CreateObject("ADODB.RecordSet"); // Creates the recordset object...
conn.Open("Driver={SQL Native Client};Server=localhost;Database=wislunds;UID=BLABLA;PWD=BLABLA;" );// Connection string...
rs = conn.Execute("getProducts " & myID); // Executes the stroed procedure... RAD 13
Response.Write("<table>");
do
{
for(prod in rs.Fields)
{
Response.Write("<tr><td>" & prod.prodName & "</td></tr>");
}
}
while(rs.EOF == false);
Response.Write("</table>");
%>
</code>
Svara
Sv:AJAX vill inte fungera
Borde inte
<code>
rs = conn.Execute("getProducts " & myID);
</code>
vara
<code>
rs = conn.Execute("getProducts(" & myID &")");
</code>
rent logiskt för att knyta ihop dom så att variabeln blir en parameter. Är inte helt säker på att det går att göra på det sättet med stored procedures.
Kolla även innehållet i myID så att variabeln har ett giltigt värde.
Svara
Sv: AJAX vill inte fungera
Jag får samma fel i alla fall. myID stämmer, jaghar skrivit ut den och får de värden jag ska få.
Svara
Sv:AJAX vill inte fungera
Fungerar
<code>
rs = conn.Execute("getCat");
</code>
som stored procedure?
Svara
Sv: AJAX vill inte fungera
Japp, det funkar. Det är nåt som blir fel när jag skicka med parametern.
Svara
Sv:AJAX vill inte fungera
Kör jhag så här så fungerar det också.
<code>
var sql = "SELECT * FROM products WHERE catID =" + id;
rs = conn.Execute(sql);
</code>
Men då använder jag ju inte SP :(
Svara
Sv: AJAX vill inte fungera
Eftersom det här snarare handlar om asp än javascript, så torde du få bättre svar i Asp forumet..
Svara
Sv:AJAX vill inte fungera
Du har rätt Simon, men eftersom problemet från början låg i javascriptet och inte i aspkoden så postade jag det här. Jag stänger denna tråd och lägger in en ny i aspforumet.
Svara