[英]How to Post Registration Form with File to ASP.NET MVC Action
我不清楚為什么我無法將表單中的數據發布到服務器。 盡管我已經對表單和 AJAX 調用進行硬編碼以使用“POST”請求,但該表單似乎默認為“GET”請求。 所以,我沒主意了。 非常感謝任何建議。
這是我的 Javascript 代碼:
SubmitRegisterForm: function (e) {
var scope = this;
e.preventDefault();
//var formData = new FormData();
//formData.append('profilepic', $('#profilepic')[0].files[0]);
var data = {
FirstName: $('#FirstName').val(),
LastName: $('#LastName').val(),
Email: $('#Email').val(),
Password: $('#Password').val(),
ConfirmPassword: $('#ConfirmPassword').val(),
StripeConnectedAcctId: scope.stripeConnectedAccountId
};
console.log(data);
$.ajax({
url: '/Account/Register',
method: 'POST',
data: { model: data, profilepic: $('#profilepic')[0].files[0] },
enctype: 'multipart/form-data'
}).done(function (resp) {
});
}
服務器端代碼看起來像這樣,但目前沒有被擊中(那將是問題所在):
有趣的是,Javascript 代碼執行得很好,顯示data
變量很好,但抱怨 Vue 中的一些Illegal Invocation
......這實際上沒有任何意義,因為我什至不使用任何 Vue 相關函數,而是發出 AJAX 調用。
上帝的綠色地球給了什么???? >=/
我希望我能在收件箱中收到一個解決方案,就像聖誕節一樣!
您使用的是 ASP .NET,所以如果您使用的是服務器端渲染,我會做這樣的事情,讓框架處理所有事情。
<form enctype="multipart/form-data" asp-action="controllorAction" method="post">
<label class="form-label" for="firstName">First Name</label><input type="text" asp-for="Model.FirstName" />
<label class="form-label" for="lastName">Last Name</label><input type="text" asp-for="Model.LatName" />
...
<label class="form-label" for="customFile">Profile Picture</label><input type="file" asp-for="Model.File" class="form-control" id="File" />
<input type="submit" value="Submit form" class="btn btn-primary" />
</form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.