Jag försöker göra en registreringssida, som bla kollar om användarnamet är upptaget. Well.. Du skriver "Detta är det enda som ligger innanför body-taggarna"; menar du det du skriver? Dvs. att du skickar med mer än bara "available"/"unavailable", dvs. body-taggar också? Släng bort de taggarna isf, det ska vara helt rent från annat än asp-kod, och se till att du inte har några enter-tryckningar innan och efter <%%> Hela checkusername2.asp ser ut så här: Men om man tittar på källkoden för html-sidan som genereras av checkUserName2.asp, så finns det inget mer än dom orden som skall finnas där...Märkligt problem med ajax
Men vad jag än skriver in för namn så får jag svaret att det är upptaget.
Om jag kör asp-sidan direkt, med querystring, så får jag ut rätt saker...?
Här är coden för javascriptet:
<script src="javascripts/prototype.js" type="text/javascript"></script>
<script src="javascripts/scriptaculous.js" type="text/javascript"></script>
<script type="text/javascript">
var url = "checkUserName2.asp?";
function checkAvailability() {
new Ajax.Request(url, {
method: 'get',
parameters: { username: document.getElementById('username').value },
onSuccess: process,
onFailure: function() {
alert("There was an error with the connection");
}
});
}
function process(transport) {
var response = transport.responseText;
if(response == 'available')
alert("This username is available");
else
alert("This username is already registered, please choose another");
}
/*
function process(transport) {
alert(transport);
}
*/
</script>
Och här är asp-sidan som gör sökningen: (Detta är det enda som ligger innanför body-taggarna)
<%
strUserName = request.QueryString("username")
strSqlUser = "SELECT username FROM user WHERE username = '"& strUserName & "'"
rsMember.Open strSqlUser, objCon, 3, 3
If rsMember.eof then
response.Write("available")
Else
response.Write("unavailable")
End if
rsMember.Close
%>
Och för säkerhetsskull, här är formuläret:
<body>
<form>
Please enter a username:
<input type="text" id="username" onchange="checkAvailability()" />
</form>
</body>
Sv: Märkligt problem med ajax
Sv:Märkligt problem med ajax
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "..."
Set rsMember = Server.CreateObject("ADODB.Recordset")
%>
<%
strUserName = request.QueryString("username")
strSqlUser = "SELECT username FROM user WHERE username = '"& strUserName & "'"
rsMember.Open strSqlUser, objCon, 3, 3
If rsMember.eof then
response.Write("available")
Else
response.Write("unavailable")
End if
rsMember.Close
%>
Sv:Märkligt problem med ajax
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "..."
Set rsMember = Server.CreateObject("ADODB.Recordset")
strUserName = request.QueryString("username")
strSqlUser = "SELECT username FROM user WHERE username = '"& strUserName & "'"
rsMember.Open strSqlUser, objCon, 3, 3
If rsMember.eof then
response.Write("available")
Else
response.Write("unavailable")
End if
rsMember.Close
%>
Så här då?
Behövs den översta raden alls?
Sv:Märkligt problem med ajax
Inget html osv...
Någon som ser något fel i koden?