Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX处理MVC3客户机到服务器验证例程中的成功和错误_Javascript_Ajax_Asp.net Mvc 3_Client Side_Server Side - Fatal编程技术网

Javascript 使用AJAX处理MVC3客户机到服务器验证例程中的成功和错误

Javascript 使用AJAX处理MVC3客户机到服务器验证例程中的成功和错误,javascript,ajax,asp.net-mvc-3,client-side,server-side,Javascript,Ajax,Asp.net Mvc 3,Client Side,Server Side,我正在编写一个验证例程,该例程需要返回到服务器,执行一些数据库检查,然后返回到客户端,根据结果显示消息。。我正在使用MVC3、Javascript和Ajax 这是我的客户端: <script type="text/javascript"> $('#usrid').change(function (e) { var formData = $("form").serialize(); $.ajax({ url: "ValidateOfficers",

我正在编写一个验证例程,该例程需要返回到服务器,执行一些数据库检查,然后返回到客户端,根据结果显示消息。。我正在使用MVC3、Javascript和Ajax

这是我的客户端:

<script type="text/javascript">
$('#usrid').change(function (e) {

    var formData = $("form").serialize();

    $.ajax({
        url: "ValidateOfficers",
        type: "POST",
        data: formData,
        success: function (data) {
            alert(data.reponseText);
        },
        error: function (data) {
            alert(data.reponseText);
        }
    });
});
我要做的是执行计数,然后根据计数结果发回状态。。因此,如果countRoles=1,则返回文本“officer exists”;如果countRoles>1,则返回文本“replicate records exists”。如果countRoles为零,那么我可以假设成功,并且不提供任何消息

好的,我一直在研究如何在服务器端构建这个定制消息,以及如何将它发回客户端。我想在剃须刀上添加几个标签,并根据计数结果显示/隐藏。。正如你所看到的,我有一个非常基本的围棋,但没有用。我在当前的警报消息中得到“未定义”


如果我能在这方面得到一些建议,我将非常感激

行动

public ActionResult ValidateOfficers(userRole role)
{
  string myMessage;
  \\ here goes all of your other code
  \\ set value into myMessage depending on your conditions.

  return Json(new {foo=myMessage});
}
Javascript

<script type="text/javascript">
$('#usrid').change(function (e) {

    var formData = $("form").serialize();

    $.ajax({
        url: "ValidateOfficers",
        type: "POST",
        data: formData,
        success: function (data) {
            alert(data.foo);

            if(data.foo == "exists")
            { // do something (show/hide msgs)
            }
            else if(data.foo == "duplicate")
            { // do something else (show/hide msgs)
            }
            else
            { // do something else (show/hide msgs)
            }

        },
        error: function (data) {
            alert(data.reponseText);
        }
    });
});

$('#usrid')。更改(函数(e){
var formData=$(“form”).serialize();
$.ajax({
url:“验证办公室”,
类型:“POST”,
数据:formData,
成功:功能(数据){
警报(data.foo);
如果(data.foo==“存在”)
{//做点什么(显示/隐藏MSG)
}
else if(data.foo==“重复”)
{//执行其他操作(显示/隐藏MSG)
}
其他的
{//执行其他操作(显示/隐藏MSG)
}
},
错误:函数(数据){
警报(data.reponseText);
}
});
});

您还需要阅读,以了解如何返回json数据


希望这能解决您的问题。

“我目前在警报消息中得到了“未定义”的消息。”这是因为
数据
是您的响应文本。啊,好的-在这种情况下,我如何使用服务器的文本添加数据?警报(数据)
显示了什么?谢谢-这是一篇非常有用的文章。我现在正在享受它:-)
<script type="text/javascript">
$('#usrid').change(function (e) {

    var formData = $("form").serialize();

    $.ajax({
        url: "ValidateOfficers",
        type: "POST",
        data: formData,
        success: function (data) {
            alert(data.foo);

            if(data.foo == "exists")
            { // do something (show/hide msgs)
            }
            else if(data.foo == "duplicate")
            { // do something else (show/hide msgs)
            }
            else
            { // do something else (show/hide msgs)
            }

        },
        error: function (data) {
            alert(data.reponseText);
        }
    });
});