Я использую этот код для доступа к моему серверу (MVC), и эта работа прекрасна. В результате «данные» ({«Id»: 30, «Описание»: «Образцы фотографий», «Имя»: «Первая галерея»}) Я пытаюсь получить данные свойства. Имя и это просто ничего не возвращает, что такое проблема в этом коде?Json result is nothing
JavaScript
$(function() {
$('#UserGaleries_').change(function() {
try {
if ($(this).val() == -1) {
$('#NameGaleriesEdit').val('');
$('#DescriptionGaleriesEdit').val('');
}
else {
$.post('/UserGaleries/ChangeCategorie',
{ selectedID: $(this).val() },
function (data) {
alert(data.Name); //Nothing
$('#NameGaleriesEdit').val(data.name);
$('#DescriptionGaleriesEdit').val('asdf');
});
}
} catch (e) {
alert(e);
}
});
});
MVC
[Serializable]
public class ResponsetModel
{
public int Id { get; set; }
public string Description { get; set; }
public string Name { get; set; }
}
public JsonResult ChangeCategorie(int selectedID)
{
DbLayer.UserGaleriesManager uc = new DbLayer.UserGaleriesManager();
DbLayer.Models.UsersGalery cat = uc.GetGaleriesById(selectedID);
ResponsetModel retValue = new ResponsetModel()
{ Id = cat.Id, Name = cat.Title, Description = cat.Description };
JsonResult oView = Json(retValue, "text/plain", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);
return oView;
}
Ваш метод действия ChangeCategories нуждается в атрибуте HttpPost – Jon
@Jon. Это неверно. – gdoron
Не знаете тайны JavaScript, но попробовали ли вы вызов данных() вместо имени? –