Javascript 使用Malsup Ajax表单提交后重定向到另一个操作
上传完成后,如何将页面重定向到其他操作?从现在起,Javascript 使用Malsup Ajax表单提交后重定向到另一个操作,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,上传完成后,如何将页面重定向到其他操作?从现在起,status.html(xhr.responseText)在创建视图内创建索引的“部分”视图。现在,Create操作返回一个JsonResult,其中包含我希望页面重定向到的url <script> $.noConflict(); jQuery(document).ready(function ($) { var bar = $('.progress-bar'); var percen
status.html(xhr.responseText)上传完成后,代码>在创建视图内创建索引的“部分”视图。现在,Create操作返回一个JsonResult,其中包含我希望页面重定向到的url
<script>
$.noConflict();
jQuery(document).ready(function ($) {
var bar = $('.progress-bar');
var percent = $('.percent');
var status = $('#status');
$('#Myform').ajaxForm({
type: "POST",
contentType: "application/json; charset=utf-8",
beforeSend: function () {
status.empty();
var percentVal = '0%';
bar.width(percentVal);
percent.html(percentVal);
},
uploadProgress: function (event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal);
percent.html(percentVal);
},
complete: function (xhr) {
window.location.href = xhr.url;
}
});
});
</script>
指数作用
public ActionResult Index(string projectId)
{
IndexVideoViewModel model = new IndexVideoViewModel
{
Project = db.Projects.Where(project => project.Id == projectId).First()
};
return View(model);
}
将重定向响应返回到ajax调用没有任何意义。使用ajax的全部思想是进行部分页面更新。如果这不是您的意图,为什么不使用普通表单提交而不是ajax?好的,我明白了。我确实需要Ajax调用来更新进度条,而且它工作得很好。我不能做的是在文件上传完成后让页面重定向到索引操作。尝试窗口。location.href=“yourNextPageUrl”
在完成
处理程序中。我尝试了,它重定向到另一个页面,这很好。但是我似乎不知道如何获取我的索引操作方法的完整URL。我想我可以使用@Url.Action()作为href的值,但当Ajax完成时,它总是会重定向到索引。我希望创建操作返回URL,因此如果出现错误,它应该重定向到视图(“错误”),或者如果模型状态无效,我希望重定向到视图(模型)。您可以在其他操作方法中使用URL.action生成URL。请参阅以获取示例
public ActionResult Index(string projectId)
{
IndexVideoViewModel model = new IndexVideoViewModel
{
Project = db.Projects.Where(project => project.Id == projectId).First()
};
return View(model);
}