Мой Javascript код:Как правильно отправить запрос PUT в приложение webAPI?
$.ajax({
type: "PUT",
url: "/api/WordsAPI/"+wordData.ID,
data: { word: wordData}
});
Часть моего C# код:
// PUT: api/WordsAPI/5
[ResponseType(typeof(void))]
public IHttpActionResult PutWord(int id, Word word)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != word.ID)
{
return BadRequest();
}
[...]
}
В VisualStudio отладчика я могу видеть, что приложение выполняет второй BadRequest. Все данные в переменном «слово» на стороне сервера равны нулю. Понятия не имею почему. «id» переменная в порядке, она сохраняет правильный идентификатор.
В отладчике javascript в Firefox все выглядит нормально. wordData не является нулевым (wordData.id отправляется должным образом на сервер), и я вижу, что все данные были успешно отправлены на сервер.
Что может быть неправильным? Что мне делать?
EDIT:
запрос в светлячок (это то, что отправляется в браузере):
должен работать .. попытаться изменить 'данные: {слова: wordData}' 'к данным: JSON.stringify (wordData) 'и убедитесь, что ваш' wordData' имеет те же свойства, что и слово Word. –
. Вы также можете пометить слово 'word' атрибутом' [FromBody] ' –
. Я не уверен, что« wordData имеет те же свойства, что и слово Word ». Я имею в виду: в классе Word у меня есть одно свойство, которое содержит значение DateTime. В моем приложении я отправляю свою переменную Word клиенту, клиент изменяет эти данные и отправляет их обратно на сервер. Я подозреваю, что свойство «DateTime» на самом деле является «строкой» на стороне сервера. Что мне тогда делать? – Piotrek