我正在尝试从一个视图更改表中的值,然后使用闪存FSCommand和Json重定向到另一个视图,使用以下代码:
if (command == "nameClip") {
var url = '<%= Url.Action("Index", "Home") %>';
var clip = [args];
try {
$.post(url, {
MovieName: clip
}, function(data) {
;
}, 'json');
} finally {
// window.location.href = "/Demo/SWF";
}
}在控制器中:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(SWF movietoplay) {
var oldmovie = (from c in db.SWFs where c.ID == "1" select c).FirstOrDefault();
var data = Request.Form["MovieName"].ToString();
oldmovie.SWFName = data;
db.SubmitChanges();
return RedirectToAction("Show");
}除了重定向之外,所有的工作都很好!
发布于 2010-07-05 03:33:12
您需要在AJAX成功回调中执行重定向:
$.post(url, { MovieName: clip }, function(data) {
window.location.href = '/home/show';
}, 'json');重定向不能在服务器端执行,因为您正在使用AJAX调用此操作。
此外,您在AJAX调用中指出,您期望从服务器端获得JSON,但是您发送的是一个不一致的重定向。您可以修改控制器操作,以简单地返回客户端需要使用JSON重定向到的url:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(SWF movietoplay)
{
...
return Json(new { redirectTo = Url.Action("show") });
}然后:
$.post(url, { MovieName: clip }, function(data) {
window.location.href = data.redirectTo;
}, 'json');https://stackoverflow.com/questions/3175942
复制相似问题