我有一個輸入類型=「文件」,並在該輸入的變化,我想要一個表單提交。ajax後表單使頁面重定向
$(document).on("change", "#image-upload", function (e) {
$.ajax({
url: '/BlogPost/UploadHomeReport',
type: 'POST',
data: $('#upload-image-form').serialize(),
success: function (response) {
console.log(response);
}
});
});
<form action="~/BlogPost/UploadHomeReport" method="post" enctype="multipart/form-data" id="upload-image-form">
<input type="file" id="image-upload" name="file" />
<input type="text" name="destinationId" id="destinationId" />
</form>
[HttpPost]
public JsonResult UploadHomeReport(HttpPostedFileBase file, int destinationId)
{
var fileName = Path.GetFileName(file.FileName);
file.SaveAs(Server.MapPath("~/App_Data/UploadedImages/" + destinationId + fileName));
var path = Server.MapPath("~/App_Data/UploadedImages/" + destinationId + fileName);
return Json(path);
}
一切完美,但是當它應該返回JSON它重定向到一個新的頁面。爲什麼不返回JSON而不是重定向?
嘗試刪除表單 –
中的「操作」如果我這樣做,UploadHomeReport actionmethod中的文件變爲null :( –
但是,您不是通過提交發布,您正在使用ajax,是不是?需要在那裏採取行動?也許這就是爲什麼它重定向,也許,在代碼中的某個地方提交 –