首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery POST重定向

JQuery POST重定向
EN

Stack Overflow用户
提问于 2017-03-14 18:05:02
回答 2查看 232关注 0票数 1

我已经用AJAX MVC写了一个程序,我的ASP.NET函数有一个问题。

如果我的函数返回成功,我想在POST方法中重定向到另一个页面。我不能使用window.location,所以我必须制作一个执行post方法的表单。

下面是我的代码:

代码语言:javascript
复制
<body>
<div class="login">
    <div class="login-screen">
        <div class="app-title">
            <h1>bla bla bla</h1>
        </div>

        <div class="login-form">
            <div class="control-group">
                <input type="text" class="login-field" value="" placeholder="bla bla bla" id="login-name">
                <label class="login-field-icon fui-user" for="login-name"></label>
            </div>
            <div class="control-group">
                <input type="password" class="login-field" value="" placeholder="bla bla bla" id="login-pass">
                <label class="login-field-icon fui-lock" for="login-pass"></label>
            </div>

           <input type="button" class="btn btn-primary" id="button" value="bla bla bla"/>
        </div>
    </div>
    <div id="failedLogin">
    </div>

</div>
</body>

<script src="~/Scripts/Login.js"></script>

以下是m代码

代码语言:javascript
复制
$("#button").click(function () {
    $.ajax({
        url: "home/signIn",
        data: { userName: $("#login-name").val(), Password: $("#login-pass").val() },
        success: function (result) {
            if (result == "success") {

                var redirect = function (url, method) {
                    $('<form>', {
                        method: method,
                        action: url
                    }).submit();
                };

                redirect('/Account/Menu?Name=' + $("#login-name").val(), 'post');
            }
            else {
                var content = $("#failedLogin");
                var label = "<label class=\"result\">bla bla bla </label>";
                content.html(label);
            }
        }
    })

我的c#代码:

代码语言:javascript
复制
public string  signIn(string userName , string Password)
{
    var db = new OsemEntities();

    var name= from u in db.*********
                where u.UserName == userName & u.UserPassword == Password
                select u.UserName;

    if (name.Count() == 1)
        return "success";
    else
        return "fail";


}

我的帖子重定向不起作用,我很高兴得到一些帮助。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-03-14 18:26:14

代码语言:javascript
复制
  var redirect = function (url, method) {
                    $('<form>', {
                        type: method,
                        action: url
                    }).submit();
                };

尝尝这个。方法已折旧。请改用type

票数 0
EN

Stack Overflow用户

发布于 2017-03-14 20:49:41

您不需要返回Ajax函数,您可以从控制器端处理此问题。

代码语言:javascript
复制
  if (name.Count() == 1)
            return RedirectToAction("HomeView");
//In your HomeView you can have your first page
        else
            return View();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42782928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档