我在ASP.NET MVC中编写了一个程序,我的AJAX函数存在问题。
如果我的函数返回成功,我想在POST方法中重定向到另一个页面。我不能使用window.location
因此我必须制作一个执行post方法的表单。
这是我的代码:
<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 js代码
$("#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#代码:
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";
}
我的帖子重定向不起作用,我很乐意得到一些帮助。
谢谢!
答案 0 :(得分:0)
var redirect = function (url, method) {
$('<form>', {
type: method,
action: url
}).submit();
};
试试这个。方法已折旧。改为使用类型
答案 1 :(得分:0)
您无需返回Ajax功能,您可以从控制器端处理此问题。
if (name.Count() == 1)
return RedirectToAction("HomeView");
//In your HomeView you can have your first page
else
return View();