لاگین کردن با استفاده از ajax و WebApi
سلام. یه کنترلر ساختم به اسم
public class UserApiController : ApiController
وحالا یک متد get خودم ایجاد کردم در این webapi به اسم و شکل زیر و حالا کدی رو هم نوشتم در داخلش که مهم نیست . مهم این که رو شروع بلاک این متد یه brikpoint زدم ولی موقعی که از ویو دستو رو میفرستم دستور به این متد نمیرسه و هیچ عملی صورت نمیگیره اینجا.
public string Get(string email,string password) {
var query = from q in db.Users
where q.Email == email && q.Password == password
select q;
return query.ToList().ToString();
}
و حالا اینم هم بخش مربط موجود در ویو
<div class="row"> <div class="col-md-12">
<div>
<p>نام کاربری</p>
@Html.TextBox("email")
</div>
<div>
<p>رمز ورود</p>
@Html.Password("password")
</div>
<button id="btnlogin" type="button" class="btn-success">ورود</button>
</div>
</div>
و این هم اسکریپت عزیز ما که alert رو اجرا میکنه و ajax رو call نمیکنه و میره done رو اجرا میکنه . یعنی این وسط از روی .ajax رد میشه... نمیدونم کجا دارم اشتباه میکنم.
در ضمن از استارت پروژه webapi انتخاب شده بود و refrence هاش هم هست و ....
اینم اسکریپت
<script> $(document).ready(function() {
$("#btnlogin").click(function () {
alert("این داره اجرا میشه");
$.ajax({
url: "/api/UserApi",
data: { email: $("#email").val(), password: $("#password").val() },
type: "GET"
}).done(alert("این یکی هم داره اجرا میشه "));
});
});
</script>
نقل قول: لاگین کردن با استفاده از ajax و WebApi
خوب چرا با مقدار بازگشتی از سمت سرور هیچ کاری انجام نداده اید؟
نقل قول: لاگین کردن با استفاده از ajax و WebApi
من در این قسمت بلاک متد
public string Get(string email,string password) {
یک braeckpoint گذاشتم تا ببینم که اصلا مقدار یوزر و پسوردی که برای متد get ارسال میکنم به متد میرسه یانه . دیدم اصلا متد get اصلا breackpoint رو اعمال نمیکنه یعنی یوزر پس منکه خاستم ارسال کنم به این متد نرسیده! وقتی یوزر پسورد ارسال نمیشه چطوری مقداربرگشتی ازش بگیرم! الان منظورتون اینه که یوزر پسورد رسیده و من ادامه کد رو بنویسم؟ یعنی این breackpoint منو گول زده؟!!!!!
نقل قول: لاگین کردن با استفاده از ajax و WebApi
ای خداوند بزرگ ! درست بود!!! دستت درد نکنه استاد بزرگ اقای کرامتی. این روزها من دیگه همه چیز رو به چشم ارور و یک کار نشدنی میبینم! بریک پونیت با من شوخیش گرفته یا اینکه بریک پوینت تو web api عمل نمیکنه!!!!!!!!!!! یعنی جای تعجب داشت واسم! :متفکر:
نقل قول: لاگین کردن با استفاده از ajax و WebApi
ویژوال استدیو رو باز و بسته کردم درست شد!!! :( عجب! ب هر حال کد های بالا درست کار میکنند. هر کی خواست استفاده کنه.:چشمک: