Ich versuche, eine Login-Seite mit HTML, Ajax & ASP.NET zu machen.Die Daten werden wirklich an die Ajax-Funktion übergeben, aber wenn ich die ASP-Seite debuggen den Benutzernamen und das Passwort werden mit NULL gesendet. Der Code soll Benutzernamen nehmen & Passwort gibt dann die Benutzer-IDLogin-Seite mit ASP.Net & Ajax
HTML-Seite:
<div id="usernameid">Username:</div><input id="username" type="text"/> <span id="username_status"></span>
<div id="passwordid">Password:</div><input id="password" type="password"/> <span id="password_status"></span>
<div> <input id="loginbutton" onclick="UserLogin()" type="submit" value="Submit" /></div>
Javascript:
function UserLogin() {
var postData = JSON.stringify({ "username": JSON.stringify($("#username").val()), "password": JSON.stringify($("#password").val()) });
alert(postData);
$.ajax({
type: "GET",
url: "http://localhost:49317/LoginPageForLearn.aspx",
data: postData,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
jsonp: 'jsoncallback',
success: callbackfunction,
error: function (msg) { alert(msg); }
});
}
function callbackfunction(datacoming) {
localStorage["UserID"] = datacoming;
alert(datacoming);
Asp.net Seite:
protected void Page_Load(object sender, EventArgs e)
{
string userName = "";
int userId = -1;
string PassWord = "";
if (Request.QueryString.Count != 0 && Request.QueryString["username"] != string.Empty && Request.QueryString["password"] != string.Empty)
{
userName = Request.QueryString["username"];
PassWord = Request.QueryString["password"];
userId = GetUserID(userName, PassWord);
}
}
Do Sie haben irgendwelche Ideen, warum nicht die Daten korrekt übergeben werden? Oder haben Sie andere Ideen, wie ich eine Login-Seite mit HTML erstellen und auf die Daten bei SQL zugreifen kann.
Vielen Dank.
Sie senden ein Kennwort im Klartext über den QueryString? Denken Sie über Sicherheit nach? –
hmm, tut mir leid, ich lerne immer noch. Hast du eine bessere Idee? – OnlyHope
Ja, verwenden Sie HTTPS. Es wird auch empfohlen, das POST-Verb zu verwenden, um zu vermeiden, dass das Kennwort in den Webserverprotokollen abgerufen wird. –