Вызов этой функции на угловой функции нажатия кнопки
$scope.CreateNewTopic = function () {
var userdata = {
TopicName:$scope.topicname,
TopicDescription: $scope.topicdescription,
OriginalPosterID: $scope.userid,
CategoryID: $scope.selectedcategory
};
DataService.InsertTopicObject(userdata)
Метод обслуживания приведен ниже.
InsertTopicObject: function (topic) {
$http({
method: 'POST',
url: connectionurl + 'InsertNewTopic',
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' },
data: topic
})
.success(function (data, status, headers, config) {
// successcallback(data);
console.log(data);
})
.error(function (data, status, headers, config) {
$log.warn(data, status, headers, config);
})
}
WCF
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/InsertNewTopic", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped)]
int InsertNewTopic(InsertNewTopic InsertTopicObject);
public int InsertNewTopic(InsertNewTopic InsertTopicObject) {
return SqlHelper.ExecuteNonQuery(SqlConnectionString.GetConnection(), CommandType.StoredProcedure, Constants.SP_Name.ToString(), new SqlParameter("TopicName", InsertTopicObject.TopicName), new SqlParameter("TopicDescription", InsertTopicObject.TopicDescription), new SqlParameter("OriginalPosterID", InsertTopicObject.OriginalPosterID), new SqlParameter("CategoryID", InsertTopicObject.CategoryID));
}
Появилась следующая ошибка.
Вы должны дважды проверить данные, которые вы отправляете. Когда RequestFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped
указан, ожидаемый формат тела: {"parameterName":parameterValue}
. Таким образом, у вас есть два варианта:
1 - Вы можете изменить BodyStyle
на WebMessageBodyStyle.Bare
2 - Другой вариант - отправить ваши данные "завернутые":
$http({
method: 'POST',
url: connectionurl + 'InsertNewTopic',
data: {
'InsertTopicObject' : topic
}
})
Object {method: "POST", transformRequest: Array[1], transformResponse: Array[1], url: "http://localhost:8020/DFServices.svc/InsertNewTopic", data: Object…} data:Object InsertTopicObject:Object CategoryID:3 OriginalPosterID:"11" TopicDescription:"<pre><!--block-->sample sample<br>sample description</pre>" TopicName:"Sample data"
Пожалуйста, предоставьте мне решение для вышеуказанных данных, а также для вашей информации
Content-Type
. (Или даже удалите эту строку во всехheaders: { 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' },
)