C# MVC基本应用程序不工作
我在网上创作了一把小提琴。如果我输入'Manoj'作为用户名,输入'kumar'作为密码,然后单击登录按钮,那么我会收到一条警告消息'Manoj kumar'。但这并没有发生。我正在向控制器操作方法发送用户名和密码,但在控制器中未收到它们。请告诉我我做错了什么C# MVC基本应用程序不工作,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我在网上创作了一把小提琴。如果我输入'Manoj'作为用户名,输入'kumar'作为密码,然后单击登录按钮,那么我会收到一条警告消息'Manoj kumar'。但这并没有发生。我正在向控制器操作方法发送用户名和密码,但在控制器中未收到它们。请告诉我我做错了什么 $('.submit').click(function(){ if($('form').valid()) { $.ajax({
$('.submit').click(function(){
if($('form').valid()) {
$.ajax({
url: '@Url.RouteUrl(new{ action="GetUserInfo", controller="Home"})',
data: JSON.stringify({userName: $("#txtUserName").val(), password: $("#txtPassword").val()}),
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(resp) {
if(resp != null){
if(resp.IsValidUser == true){
alert(resp.FullName);
}
else{
alert("Invalid Username or Password");
}
}
},
[HttpPost]
public ActionResult GetUserInfo(string userName,string password)
{
ActionResult result = null;
bool isValidUser = false;
string fullName = string.Empty;
if(userName == "Manoj" && password == "kumar")
{
isValidUser = true;
fullName = userName +' ' + password;
}
else {
fullName = userName + ' '+password;
}
var resultObj = new {IsValidUser = isValidUser , FullName = fullName};
result = Json(resultObj);
return result;
}
请查看下面的链接
您的代码可以简化为:
$.post('@Url.Action("Action", "Controler")',dataToPost).done(function(){
//success
}).fail(function(){
//fail
});
去掉
应用程序/json
部分。您可以使用onsubmit事件来代替click事件。确保引用脚本上有Jquery验证,因为form.valid()将:
<script src="/Scripts/jquery.validate.js"></script>
或者在此处查看CDN:
它返回的是false,这就是为什么它不会继续到控制器
更新:
确保将代码放在文档中,并正确设置ajax函数的结束括号或结束括号的格式:
<script type="text/javascript">
$(document).ready(fncInitialize);
function fncInitialize() {
$('#frmSubmit').click(function() {
if ($('form').valid()) {
$.ajax({
url: '@Url.RouteUrl(new{ action="GetUserInfo", controller="Home"})',
data: JSON.stringify({ userName: $("#txtUserName").val(), password: $("#txtPassword").val() }),
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(resp) {
if (resp != null) {
if (resp.IsValidUser == true) {
alert(resp.FullName);
} else {
alert("Invalid Username or Password");
}
}
}
});
}
});
}
</script>
$(文档).ready(fncInitialize);
函数fncInitialize(){
$('#frmSubmit')。单击(函数(){
if($('form').valid(){
$.ajax({
url:'@url.RouteUrl(新的{action=“GetUserInfo”,controller=“Home”}),
数据:JSON.stringify({userName:$(“#txtsername”).val(),password:$(“#txtPassword”).val()}),
键入:“POST”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(resp){
如果(resp!=null){
如果(分别为IsValidUser==真){
警报(分别为全名);
}否则{
警报(“无效用户名或密码”);
}
}
}
});
}
});
}
这是我的输入类型提交的代码:
<input type="submit" value="Create" id="frmSubmit" />
代码不属于这里。使用一个代码标记,看看是的,它是可用的,form.valid()返回true。我已经尝试了您的代码,并且工作正常。你把这个放在文件里了吗?准备好了吗?你的函数格式化正确了吗?请看我的最新答案。