Сообщение Ajax для действия контроллера с объектом C # в параметрах [duplicate]

Попробуйте поместить document.getElementById в setTimeout()

Например.

setTimeout(function(){
    console.log(document.getElementById('whatever'));
}, 100);

Если это сработает, тогда это просто проблема синхронизации.

7
задан SeanKilleen 21 July 2013 в 05:29
поделиться

1 ответ

Когда вы JSON.stringifyied ваш объект данных, вы преобразовали его в JSON. Но вы забыли установить заголовок запроса Content-Type, и веб-API не знает, отправляете ли вы JSON, XML или что-то еще:

$.ajax({
    url: '/api/contactus/newmessage',
    type: 'POST',
    contentType: 'application/json',
    done: submissionSucceeded,
    fail: submissionFailed,
    data: dataObject
});

Также при создании JSON вы не необходимо обернуть его дополнительным свойством, которое соответствует имени аргумента метода. Следующее должно работать также:

var dataObject = JSON.stringify({
    'Email': $('#inpEmail').val(),
    'Name': $('#inpName').val(),
    'PhoneNumber': $('#inpPhone').val(),
    'Message': $('#inpMessage').val()
});
38
ответ дан Darin Dimitrov 19 August 2018 в 00:01
поделиться
  • 1
    Спасибо! Я знал, что это то, что я пропустил. Спасибо за быстрый и четкий ответ! – SeanKilleen 21 July 2013 в 05:32
  • 2
    +1 за хороший ответ – FSou1 21 July 2013 в 09:51
  • 3
    @ Darin Dimitrov, я должен вам приятель пива. ты - спасатель жизни для меня – joshua 27 September 2013 в 10:12
Другие вопросы по тегам:

Похожие вопросы: