以下是我的jquery函数:
function logIn() {
debugger;
$.ajax({
type: "POST",
url: '@Url.Action("LogIn", "Login")',
success: function (result) {
debugger;
if (result == "Ok") {
debugger;
var url = $("#RedirectTo").val();
location.href = url;
}
},
dataType: "json",
traditional: true
});
}
以下是我在控制器中的LogIn功能:
[HttpPost]
public ActionResult LogIn()
{
int userId = userService.LoginUser("a@b.com", "abc");
// return View("../Home/Index");
return Json("Ok");
}
如果我调试jquery函数,它工作正常。但是,如果我删除调试器,控件不会成功部分功能。我不确定这里有什么问题。
我也试过替换jquery函数如下,但它也无法正常工作:
function logIn() {
debugger;
$.ajax({
type: 'POST',
url: '@Url.Action("LogIn", "Login")'
}).done(function (data) {
debugger;
var url = $("#RedirectTo").val();
location.href = url;
})
.fail(function () { alert("error"); })
.always(function () { alert("complete"); });
}
有人可以帮助我吗?
答案 0 :(得分:0)
当您的服务器没有返回正确的JOSN时,它会发生。
首先尝试
$.ajax({
type: "POST",
url: '@Url.Action("LogIn", "Login")',
success: function (result) {
console.log(result);
},
});
检查输出是否是正确的JSON,
您也可以尝试使用$.parseJSON()