繁体   English   中英

我的jQuery正常工作,但回调第一次不起作用

[英]My jQuery working but callback is not working on the first time

我正在研究一个简单的项目来学习jQuery。 我的问题是单击按钮后,我调用了jquery。 它可以工作并将数据传送到控制器,但是第一次单击后成功功能将不起作用。 它可以在第二次单击时正常工作。 使用我的参数,在这两个调用中,控制器中的方法返回true。 但是在第一次调用时,jquery不会在成功函数中运行,但是会在第二次调用中运行。

这是我的jQuery:

function signin() {
    var parameters = {
        email: $('#emailtxt').val(),
        password: $('#passwordtxt').val()
    };
    console.log(parameters);
    $.ajax({
        url: '@Url.Action("Login","Session")',
        type: 'GET',
        data: parameters,
        dataType: 'json',
        success: function (correctData) {

            if (JSON.parse(correctData) == false) {
                alert("Incorrect e-mail or password.");
            } else if (JSON.parse(correctData) == true) {
                window.location.assign('@Url.Action("Index","Home")');
            }
        }            
    });
};

这是我在控制器中的代码:

public JsonResult Login(string email, string password)
        {
            using (var context= new ProjistDbContext())
            {
                var user = context.Users.FirstOrDefault(x => x.UserEmail == email && x.UserPassword == password);
                if (user == null)
                {
                    var result = JsonConvert.SerializeObject(false);
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
                else
                {
                    Session["UserId"] = user.Id;
                    var result = JsonConvert.SerializeObject(true);
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
            }
        }

在这个问题上,我恳请您的帮助。 非常感谢。

我解决了我的问题,我想分享它。 问题是由于...引起的。

<button>...</button>

这种定义正在刷新页面,并且在从控制器获取响应时导致错误。 有时也会出现错误

XHR无法加载GET ...

如果将type =“ button”添加到html按钮定义中,它将停止刷新页面,并且所有帖子和响应均正常运行。

我想分享解决方案。 谢谢大家的协助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM