В моем проекте я использую архитектуру с тремя связями (UI -> Controller -> DAL).Сначала я создал HttpPost Api, который отлично работал как через пользовательский интерфейс, так и через почтальон.но когда я создал Login HttpGet Api для проверки доступности пользователя в базе данных, мой Api работает нормально на почтальоне, где я только что проверил ответ Api (поток от контроллера к DAl), но когда я хочу использовать HttpGet Api через вебСтраница входа не работает (поток от пользовательского интерфейса до контроллера).Может быть, я делаю ошибку в URL-адресе, где мне нужно войти в текстовое поле Идентификатор страницы логина. Пожалуйста, вставьте мой запрос ..
Вот мой код:
Контроллер:
[HttpGet]
public string login(string UserName, string Password)
{
Users objUser = new Users();
bool bResult = objUser.ValidateUser(UserName, Password);
string strResponse = "";
if (bResult)
{
strResponse = "Login Successful";
}
else
{
strResponse = "Failed to Login.";
}
return strResponse;
}
DAL:
public bool ValidateUser(string strUserName , string strPassword)
{
string strQuery = "SELECT * FROM [dbo].[user] WHERE user_name = '" + strUserName + "' and password_ = '"+ strPassword + "'";
DataTable dtb = GetDataFromQuery(strQuery);
if (dtb != null && dtb.Rows.Count > 0)
{
return true;
}
else
{
return false;
}
Ajax:
function httpMVCGetRequest(url, callback, errcallback) {
url = window.location.origin + url;
$.ajax({
type: "GET",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
async: true,
success: callback,
error: errcallback
});
}
Вызов функции Ajax, здесь я получаю ka Url для получения данных из моего текстового поля логина, когдакогда-нибудь кто-нибудь вводит данные для входа в систему.
function callSignIn() {
httpMVCGetRequest('/users/login?UserName=$("#nameuser").val()&Password=$("#passsignin").val()', callbackSignIn);
}
function callbackSignIn(data) {
alert(data);}
HTML (Страница входа в систему):
<div class="login-form">
<div class="sign-in-htm">
<div class="group">
<label for="user" class="label">Username</label>
<input id="nameuser" type="text" class="input">
</div>
<div class="group">
<label for="pass" class="label">Password</label>
<input id="passsignin" type="password" class="input" data-type="password">
</div>
<div class="group">
<input id="check" type="checkbox" class="check" checked>
<label for="check"><span class="icon"></span> Keep me Signed in</label>
</div>
<div class="group">
<li class="button"><a onclick="callSignIn();"><center>Sign In</center></a></li>
</div>
<div class="hr"></div>
<div class="foot-lnk">
<label for="tab-3">Forgot Password?</label>
</div>
</div>
когда я пишу этот URL на почтальоне, это дает мне ответ на успешный вход в систему
http://localhost:3672/api/users/login?UserName=abc&Password=e123
но при записи этого URL в функцию ajax, чтобы получить входные данные пользователя, он застрял ..
'/users/login?UserName=$("#nameuser").val()&Password=$("#passsignin").val()'