我的问题有两个方面: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()表单数据时
  属性!


名称属性应与Donationproperty相同。

我认为您使用了打字稿。

您的JavaScript代码应该正确。

请在webapi中将您的操作代码发布到guid。

关于javascript - jQuery将数据发布到Web API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50821277/

10-16 17:49
查看更多