我的问题有两个方面:1.从客户端向我的webapi控制器发送数据时,名称必须相同吗?
如果我有这样的模型:
public class Donation
{
public string DonorType { get; set; }
//etc
}
但是我在网页上的表单是这样的:
<div class="button-group grid-x align-center" id='sz-gift-source-group'>
<a class="hollow button cell small-6" id="sz-donate-individual" sz-data-toggle-button required>A family or individual</a>
<a class="hollow button cell small-6" id="sz-donate-corporate" sz-data-toggle-button>A business or company</a>
</div>
用我的事件处理程序是这样的:
$('form button[type=submit]').on('click', () => {
const donation = getDonation();
$.post(
'//localhost:61012/api/Donation',
$("#sz-donate-form").serialize(),
(data) => {
console.log(`post succeeded:[${JSON.stringify(data)}]`);
})
.fail((data) => {
console.log(`post failed:[${JSON.stringify(data)}]`);
})
.always((data) => {
console.log(`post complete:[${JSON.stringify(data)}]`);
});
return false;
});
其次,我需要怎么做才能将数据从表单传递到Donation对象?
我看过的所有教程似乎都错过了我的第一个问题,我想知道的部分原因是我是否在这里填写了不完整的表格...
最佳答案
请注意,对于序列化数据的表单,必须将输入内容放入表单标签中,例如:
<form action="/" method="post" id="sz-donate-form">
<input name="DonorType" type="text">
</form>
请注意,当您使用按输入名称序列化的
serialize()
表单数据时属性!
名称属性应与
Donation
类property
相同。我认为您使用了打字稿。
您的JavaScript代码应该正确。
请在webapi中将您的操作代码发布到guid。
关于javascript - jQuery将数据发布到Web API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50821277/