我試圖做一個登錄頁面使用html,ajax & ASP.NET.The數據是真正傳遞給ajax函數,但是當我調試asp頁面的用戶名和密碼與NULL一起發送。 的代碼應該採取用戶名密碼&然後返回用戶標識登錄頁面使用ASP.Net和Ajax
Html頁面:
<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頁面:
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);
}
}
待辦事項你有什麼想法爲什麼不正確的數據傳遞?或者你有什麼其他的想法,我怎樣才能使用HTML做一個登錄頁面,並在SQL訪問數據。
非常感謝。
您是通過QueryString以明文形式發送密碼的嗎?你是否考慮過安全? – 2012-04-03 17:37:34
嗯,對不起,我還在學習,你有更好的主意嗎? – OnlyHope 2012-04-03 17:39:57
是的,使用HTTPS。另外建議使用POST動詞以避免在Web服務器日誌中獲取密碼。 – 2012-04-03 17:41:32