JQuery публиковать данные в вебапи - PullRequest
0 голосов
/ 12 июня 2018

У меня вопрос двоякий: 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?

Учебники, на которые я смотрел, похоже, пропускают мой первый вопрос,и часть того, что мне интересно, есть ли у меня неполная форма здесь ...

1 Ответ

0 голосов
/ 12 июня 2018

Обратите внимание, что для сериализации данных в форму необходимо поместить тег input внутри form , такой как:

<form action="/" method="post" id="sz-donate-form">
    <input name="DonorType" type="text">
</form>

Обратите внимание, когда вы используете serialize() данные формы, сериализованные с помощью атрибута имени ввода!

Атрибут имени должен совпадать с Donation class property.

Я думаю, что вы использовали typcript .

Ваш код JavaScript должен быть правильным.

Пожалуйста, опубликуйте свой код действия в webapi, чтобы направить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...