0

为什么我从警报中得到零(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);
        }

    }

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

4

1 回答 1

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;
    });
于 2013-09-12T16:46:25.283 回答