Javascript 我一次又一次地得到HttpGet
我的问题是我有一个登录页面,它非常简单,我得到的用户名和密码。我在服务器端控制它。我正在使用javascript将数据视图传递给控制器。但问题是它总是把我送到同一页。我总是输入用户名和密码,但即使数据正确,也没有重定向 我的视图代码Javascript 我一次又一次地得到HttpGet,javascript,c#,html,asp.net-mvc,view,Javascript,C#,Html,Asp.net Mvc,View,我的问题是我有一个登录页面,它非常简单,我得到的用户名和密码。我在服务器端控制它。我正在使用javascript将数据视图传递给控制器。但问题是它总是把我送到同一页。我总是输入用户名和密码,但即使数据正确,也没有重定向 我的视图代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Yelken Otel Rezervasyon Kontrol Sis
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Yelken Otel Rezervasyon Kontrol Sistemi</title>
<script type="text/javascript">
function Login() {
var userName = document.getElementById("userName").value;
var password = document.getElementById("password").value;
$.ajax({
type: 'POST',
url: '/RezervasyonTalepleri/Giris',
dataType: 'json',
data: {
'userName': userName,
'password': password
},
success: function (msg) {
location.href = '/RezervasyonTalepleri/Denetim';
}
});
};
</script>
</head>
<body>
<div class="login-page">
<div class="form">
<form class="login-form">
<input id="userName" type="text" placeholder="username" />
<input id="password" type="password" placeholder="password" />
<button id="btnLogin" onclick="Login()" >login</button>
</form>
</div>
</div>
</body>
</html>
我希望当我输入正确的用户名和密码时,它会将我重定向到
/rezervasyntalepleri/Denetim
,但它总是将我重定向到/rezervasyntalepleri/Giris
您需要jQuery库,例如,将其包括在下面:
<title>Yelken Otel Rezervasyon Kontrol Sistemi</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript"> ...
Yelken Otel Rezervasyon Kontrol Sistemi酒店
...
例如,您需要jQuery库,并将其包括在下面:
<title>Yelken Otel Rezervasyon Kontrol Sistemi</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script type="text/javascript"> ...
Yelken Otel Rezervasyon Kontrol Sistemi酒店
...
如果我正确理解了您的问题,
当Giris操作调用成功时调用
success
函数,而不是当您将success作为状态返回时调用函数
在您的示例中,您需要检查msg.status
是否等于success
,并且您已准备就绪
因此,您的成功
功能将是
success: function (msg) {
if (msg.status === 'success')
{
location.href = '/RezervasyonTalepleri/Denetim';
}
}
如果我正确理解你的问题,
当Giris操作调用成功时调用success
函数,而不是当您将success作为状态返回时调用函数
在您的示例中,您需要检查msg.status
是否等于success
,并且您已准备就绪
因此,您的成功
功能将是
success: function (msg) {
if (msg.status === 'success')
{
location.href = '/RezervasyonTalepleri/Denetim';
}
}
您可能没有正确登录,或者需要删除cookie。首先尝试使用浏览器手动清除IE历史记录。如果这不起作用,我建议使用fiddler捕获调试结果。如果您可以使用IE登录,则比较IE和应用程序之间的fiddler结果。通常问题在于第一条请求消息中的HTTP头。ajax的全部目的是保持在同一页面上,因此进行ajax调用然后重定向是毫无意义的。只需在POST方法中执行正常的提交和重定向。您可能没有正确登录,或者需要删除cookie。首先尝试使用浏览器手动清除IE历史记录。如果这不起作用,我建议使用fiddler捕获调试结果。如果您可以使用IE登录,则比较IE和应用程序之间的fiddler结果。通常问题在于第一条请求消息中的HTTP头。ajax的全部目的是保持在同一页面上,因此进行ajax调用然后重定向是毫无意义的。只需在POST方法中执行正常的提交和重定向即可。如果是这种情况,AJAX将永远不会执行——但页面为什么会重新加载?他似乎在表单中有一个按钮,但没有提交元素——因此表单不会被提交,是吗?当他点击登录时,登录函数将成功调用,但是因为他没有包含JQuery库,他将得到未捕获的TypeError:cannotread属性'ajax'的undefined
,表单将提交到同一个页面如果是这种情况,ajax将永远不会执行——但是页面为什么会重新加载呢?他似乎在表单中有一个按钮,但没有提交元素——因此表单不会被提交,是吗?当他点击login时,登录函数将成功调用,但由于他没有包含JQuery库,他将得到未捕获的类型错误:无法读取未定义的属性“ajax”,表单将提交到同一页面