1

我也使用 jquery mobile 来增加乐趣。我想做的只是做一个帖子并保持在同一页面上,但是我被重定向到登录页面,弹出窗口有效,但我最终进入了登录页面。

  function UpdateClient(data) {
                var baseUrl = '@Url.Action("MobileAppointmentEdit")';
                $.ajax({
                    url: baseUrl,
                    type: 'POST',
                    data: {Id:'@Model.Id' },
                    success: function(response) {
                       $("#popupSaved").popup();
                        return false;
                    }
                });
            }

[HttpPost]
        public ActionResult MobileAppointmentEdit(MobileAppointment appointment)
        {
            if (appointment !=null)
            {

//Do stuff

            }

            return null;
        }
4

2 回答 2

1

就像是

function UpdateClient(data) {
                var baseUrl = '@Url.Action("MobileAppointmentEdit")';
                $.ajax({
                    url: baseUrl,
                    type: 'POST',
                    dataType:'json'
                    data: {Id:'@Model.Id' },
                    success: function(response) {
                     if(response.Success)
                     {  
                       $("#popupSaved").popup();
                     }
                   else{
                       $("#popupNotSaved").popup();}

                    }
            });
        }

在服务器端你应该JsonResult

[HttpPost]
        public ActionResult MobileAppointmentEdit(MobileAppointment appointment)
        {
            if (appointment !=null)
            {

             //Do stuff     
             return Json(new {Success = true});

            }

            return Json(new{Success = false});
        }

值得注意的是,如果发生故障,您可以在 json 对象中发送其他字段,例如错误消息。

于 2013-03-25T12:17:56.630 回答
1

您似乎从成功的 AJAX 回调中返回 false ,但这没有任何意义。看起来您正在UpdateClient从某种形式的提交按钮调用此函数。确保从此函数返回 false 以取消默认操作。例如:

<input type="submit" value="Save" onclick="return UpdateClient();" />

然后从函数本身返回 false:

function UpdateClient(data) {
    var baseUrl = '@Url.Action("MobileAppointmentEdit")';
    $.ajax({
        url: baseUrl,
        type: 'POST',
        data: { id: '@Model.Id' },
        success: function(response) {
            $("#popupSaved").popup();
        }
    });

    return false; // <!-- here, that's the important bit
}
于 2013-03-25T13:01:03.257 回答