在我的JavaScript代码中,xhr.status显示为零

时间:2013-09-12 16:11:42

标签: jquery asp.net-mvc asp.net-mvc-4

为什么我从警报中获得零(xhr.status); ?

我设定了突破点。在我的控制器上。首先,它显示0,然后继续我的控制器。在那里显示用户名null。

     $(document).ready(function () {

        $('#btn').click(function () {

            $.ajax({
                //url: 'Home/MyAction',
                //data: { username: 'Jack' },
                //cache: false,
                //type: 'POST',
                //error: function (xhr, ajaxOptions, error) {
                    //alert(xhr.status);
                    //alert('Error: ' + xhr.responseText);
                //},
                //successs: function (data) { alert('successs'); }

               var url = '@Url.Action("Save", "Home")';
            $.post(url, {
                username: 'jack'
            }, function (data) {
                if (data)
                    alert("ok");
                else
                    alert("error");

            });


            });

        });


        //return false;
    });

我的控制器如下:

    [HttpPost]
    public ActionResult MyAction(string username)
    {

        try
        {

            var data = new
            {
                sent = true
            };
            return Json(data);

        }
        catch (Exception e)
        {

            var data = new
            {
                sent = false,
                errorMessage = e.Message

            };

            return Json(data);
        }

    }

它可能取决于我的控制器?

1 个答案:

答案 0 :(得分:0)

更改successs: function (data) { alert('successs'); }

success: function (data) { alert('success'); }

success

中的拼写错误

编辑的代码是

$(document).ready(function () {

        $('#btn').click(function () {

            $.ajax({
                url: 'Home/MyAction',
                data: { username: 'Jack' },
                cache: false,
                type: 'POST',
                error: function (xhr, ajaxOptions, error) {
                    alert(xhr.status);
                    alert('Error: ' + xhr.responseText);
                },
                success: function (data) { alert('success'); }


            });

        });


        return false;
    });