我从ajax调用了一个删除控制器。删除数据并执行成功功能,但页面不会重定向到控制器中提到的新页面。 这是我的ajax代码:
function deletex(ids)
{
var x={id:ids};
var a=confirm("are you sure to delete this data of id"+x["id"]);
if(a==true)
{
$.ajax({
type: "POST",
url: "Delete",
data: x,
dataType:"HTML",
success: function (data) {
Set(data);
alert("data is deleted");
},
error:
function e()
{
alert("error");
}
});
} else
alert("You cancelled it");
}
我的控制器:
[HttpPost]
public ActionResult Delete(long id)
{
country country = db.countries.Find(id);
db.countries.Remove(country);
db.SaveChanges();
return RedirectToAction("Create","countries");
}
答案 0 :(得分:0)
你这样做的正确方法是,从删除控制器返回一个JSON对象,它将指示删除是否成功,然后从ajax的success方法返回,具体取决于返回的JSON对象的值,重定向到您选择的行动。
答案 1 :(得分:0)
只需更改脚本
即可<script>
function deletex(ids) {
var x = { id: ids };
var a = confirm("are you sure to delete this data of id" + x["id"]);
if (a == true) {
alert(1);
$.ajax({
type: "POST",
url: '@Url.Action("Delete","CheckIn")',
data: x,
dataType: "Json"
});
}
else {
alert("You cancelled it");
}
}
</script>
in thai我改变dataType:“Html”到dataType:“Json”
并删除Ajax成功和错误功能,因为它重定向到其他页面