いくつかの製品とログインページを表示するシステムがあります。ページの分離コード(LoginPage.aspxでaspx.csの機能にアクセスしようとすると、ajaxから内部エラー500が発生する
function CheckSignIn() {
var re = /[0-9]/;
if (!re.test($('#PasswordInput').val())) {
alert("Password must contains only digits!");
}
else
{
name = $('#UserNameINPUT').val();
pass = $('#PasswordInput').val();
var user = {
userNamePar: name,
passPar:pass
}
$.ajax({
url: "LoginPage.aspx/CheckLoginCodeBehind1",
dataType: "json",
type: "POST", //use only POST!
data: JSON.stringify(user),
contentType: "application/json; charset=utf-8",
error: function(jqXHR, exception) {
alert(formatErrorMessage(jqXHR, exception));
},
async: false,
success: function (result) {
debugger;
if (result == "") {
alert("User Not found");
} else {
window.location = "ProductsPage.aspx";
}
}
});
}
を: 私のLoginPage.aspx iにおいては、入力のすべてのコントローラなどを持っている は今、私はいくつかのJavaScriptがAJAXでログインして処理するために、この機能を持つファイルがあります。 CS)私はこの方法
protected string CheckLoginCodeBehind1(string userNamePar, string passPar)
{
string PW_input = PasswordInput.ToString();
bool isValid = PW_input.All(char.IsDigit);
temp = GetUsers2(userNamePar, passPar);
if (isValid)
{
if (UserNameinput.ToString() != null)
{
if (temp != null)
{
result = "UserOK";
return result;
}
}
}
return result;
}
}
を持っている..だから私の問題は、私がログインしようとしたとき、私は500
jquery.min.js:4 POST http://localhost:61405/LoginPage.aspx/CheckLoginCodeBehind1 500 (Internal Server Error)
、いつIntrnalエラーを取得していますクライアント側でデバッグするのは、コードがAJAXセクションを通過するようです。 どうすればよいですか? 助けてくれてありがとう!
編集 これは、ユーザーがデータベースにある場合、私がチェック機能である:
public string GetUsers2(string un, string pw)
{
Users u1 = null;
try
{
Comm.CommandText = "SELECT * FROM UsersTB WHERE UserName = @name AND Password = @pass";
Comm.Connection.Open();
Comm.Parameters.Add(new SqlParameter("@name", un));
Comm.Parameters.Add(new SqlParameter("@pass", pw));
//bool flag = false;
Reader = Comm.ExecuteReader();
if (Reader.Read())
{
u1 = new Users(Reader["UserName"].ToString(), Reader["Password"].ToString());
}
}
catch (SqlException e)
{
Console.WriteLine(e);
}
finally
{
Comm.Connection.Close();
}
JavaScriptSerializer json = new JavaScriptSerializer();
return json.Serialize(u1);
}
サーバー側のコードから500エラーが発生しています。私はあなたがブレークポイントを配置し、それを介して歩くことをお勧めします –
何か "PasswordInput.toString()"あなたに与えると思われる?確かにあなたはpassParを使うべきですか? – BugFinder
@BugFinder "PasswordInput.toString()"は、ユーザーが入力したパスワードです。 passParは、GetUser2関数のDataBaseでOKであればチェックしたパスワードパラメータです。 –