dodaję parę działań do zasobu angularjs, ale kiedy powoływać się na działanie, moja funkcja transformRequest nie jest uzyskiwanie nazywa się:
var _resource = $resource('api/NewItem/:id',
{ id: '@id' },
{
create: {
method: 'POST',
transformRequest: function (data, headersGetter) {
var result = JSON.stringify(data.productIntro);
return result;
}
},
update: {
method: 'PUT',
transformRequest: function (data, headersGetter) {
var result = JSON.stringify(data.productIntro);
return result;
}
}
});
Jeśli dodać funkcja globalnie w aplikacji, to działa:
var newItemApp = angular.module('newItemApp', ['ngResource'])
.config(function ($httpProvider) {
$httpProvider.defaults.transformRequest = function(data)
{
if (data === undefined) {
return data;
}
var result = JSON.stringify(data.productIntro);
return result;
};
});
Co muszę zrobić, to usunąć element główny z dowolnego POST lub PUT działania, ponieważ domyślnym modelem wiąże w Web API nie wiąże obiekt jSON, kiedy to obiekt ma nazwany root.
Yup - Myślałem, że mamy najnowszą wersję w naszej kompilacji, ale myliłem się. Dzięki! – Stuart
Miałem ten sam problem - dzwoniłem. $ Zapisz na moim zasobie, ale ustawiłem parametr transformRequest na "create". – Ponny