我想在MVC上傳一個文件我已經使用下面的jquery代碼來獲取控制器上的文件。Jquery代碼沒有執行
$(document).ready(function() {
window.addEventListener("submit", function (e) {
var form = e.target;
if (form.getAttribute("enctype") === "multipart/form-data") {
if (form.dataset.ajax) {
e.preventDefault();
e.stopImmediatePropagation();
var xhr = new XMLHttpRequest();
xhr.open(form.method, form.action);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
if (form.dataset.ajaxUpdate) {
var updateTarget = document.querySelector(form.dataset.ajaxUpdate);
if (updateTarget) {
updateTarget.innerHTML = xhr.responseText;
}
}
}
};
xhr.send(new FormData(form));
}
}
}, true);
});
我從here
其工作文件中取出的這個腳本,但是當我要運行一些其他的jQuery腳本那不是這裏燒製的代碼。
function OnUserSuccess() {
if ($("#UserDocumentID").val() == 0) {
mvcNotify.displayMessage("Record saved successfully.", "success");
} else {
mvcNotify.displayMessage("Record updated successfully.", "success");
}
}
我把它稱爲Ajax.begin Form()
@using (Ajax.BeginForm("DocEdit", "User", new { EditUserID = ViewBag.EditUserID }, new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "UserPartialdiv", OnSuccess = "OnUserSuccess" }, new { enctype = "multipart/form-data", @class = "form-sm" }))
我不是太瞭解的jQuery和新的MVC以及請禮貌。
你在哪裏調用'OnUserSuccess'?什麼時候該被調用? –
它在Ajax.begin窗體() 「@using(Ajax.BeginForm(」DocEdit「,」User「,new {EditUserID = ViewBag.EditUserID},new AjaxOptions(){HttpMethod =」POST「,UpdateTargetId =」 UserPartialdiv「,OnSuccess =」OnUserSuccess「},新{enctype =」multipart/form-data「,@class =」form-sm「}))」 –
這裏有幾件事你需要注意** 1。**創建jQuery庫以簡化vanilla JavaScript語法,因此,除非真正需要,否則不要使用vanilla JS語法。 ** 2。** jQuery庫爲ajax功能提供簡單而有效的方法,http://api.jquery.com/jQuery.ajax/。同樣適用於事件處理,http://api.jquery.com/submit/。所以使用這些。 ** 3。**我沒有看到腳本中的任何「OnUserSuccess」參考文件 – dreamweiver