我正在使用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;
}
答案 0 :(得分: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对象中发送其他字段,例如错误消息。
答案 1 :(得分: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
}