Извините, что задал вопрос об этом, так как вскоре задал другой вопрос, но теперь я борюсь с PUT.
У меня есть метод jQuery, который собирает данные и передает его функции PUT в контроллере values. Но контроллер даже не вызывается (поскольку у меня есть точка останова на нем, и он не прерывается)
Могу ли я просто проверить свой jQuery правильно?
var data = {
id: truckId,
obj: {
TruckId: truckId,
Reg: reg,
Description: desc,
Condition: condition
}
};
var json = JSON.stringify(data)
$.ajax({
url: '/api/Values',
type: 'PUT',
contentType: "application/json; charset=utf-8",
data: json,
success: function (results) {
$.getJSON("api/Values", LoadTrucks);
alert('Truck Updated !');
}
})
Контроллер выглядит следующим образом:
public void Put(int id, TruckInfo obj)
{
WebApiTestEntities db = new WebApiTestEntities();
var data = from item in db.TruckInfoes
where item.TruckId == id
select item;
TruckInfo oldRecord = data.SingleOrDefault();
oldRecord.Reg = obj.Reg;
oldRecord.Description = obj.Description;
oldRecord.Condition = obj.Condition;
db.SaveChanges();
}
Теперь мне кажется, что это должно по крайней мере дойти до Контролера. Моя догадка заключается в том, что параметры не передаются правильно, и поэтому он ищет другой метод, но я не понимаю, почему и как это исправить.
Любая помощь будет принята с благодарностью:)
Lex
РЕДАКТИРОВАТЬ: В соответствии с запросом, дополнительную информацию.
Нет ошибок Javascript на консоли ошибок.
В журнале консоли отображается следующее:
{ "Сообщение": "HTTP-ресурс не найден, что соответствует запросу URI" localhost: 62997/api/Values ".", "MessageDetail": "Никакого действия не найдено на контроллере" Значения ", которое соответствует запросу." }
И под MessageDetail для консоли JSON я получаю это (что поддерживает мою теорию по неправильным параметрам, я думаю)
"На контроллере" Значения "не найдено никаких действий, которые соответствуют запросу"
Получается, однако, успех. (И ПОСТ, я работал сегодня утром).