次のサービス定義があります
app.factory('savedPropertiesService', ['$http', function ($http) {
var sessionId = $('input[name=SessionGuid]').val();
var contactId = $('input[name=ContactId]').val();
var savedPropertiesService = {};
savedPropertiesService.getSavedProperties = function () {
return $http.get("/Contact/SavedProperties?sessionGuid="+sessionId+"&contactId=" + contactId);
};
savedPropertiesService.refreshSavedProperties = function () {
return $http.get('/Contact/RefreshSavedProperties?sessionGuid=' + sessionId + '&contactId=' + contactId);
};
savedPropertiesService.deleteSavedProperty = function (listingKey) {
return $http['delete']('/Contact/DeleteSavedProperty?sessionGuid=' + sessionId + '&contactId=' + contactId + '&id=' + listingKey);
};
savedPropertiesService.updateSavedProperty = function (prop) {
return $http.put('/Contact/UpdateSavedProperty/', prop);
};
return savedPropertiesService;
}]);
そして、それは私のコントローラーでそのように使用されています
$scope.$watch('items', function (newVal, oldVal) {
if (_.isEmpty(newVal) || _.isEmpty(oldVal)) return;
var prop = difference(newVal, oldVal);
savedPropertiesService.updateSavedProperty(prop)
.success(function (data) {
$scope.status = data;
})
.error(function (error) {
$scope.status = 'Unable to update saved properties data: ' + error.message;
});
}, true);
およびサービス エンドポイント (VB を判断しないでください)
<HttpPut()>
Function UpdateSavedProperty(rating As RatingDto) As JsonResult
Return Json(ControlLibrary.CS.__PropDetails.ContactPropertiesDataFactory.UpdateSavedProperty(rating), JsonRequestBehavior.DenyGet)
End Function
私が何をしても、JSON.stringify であろうとなかろうと、mvc3 エンポイントに到達することはなく、フレームワークは例外をスローします。System.ArgumentException: 無効な JSON プリミティブです。
手作りのオブジェクトを投稿して、エンドポイントに到達するかどうかを確認しようとしましたが、すべて役に立ちませんでした。
コードの何が問題なのかについて何か提案はありますか?
ありがとう、スティーブン