Это WebGet
не должно быть там, и вы не должны использовать функцию jQuery getJSON
.Этот метод изменяет базу данных;это POST
метод, а не GET
.
См. на этой странице пример создания метода POST
.В основном это включает добавление этих заголовков к методу:
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
Вам также необходимо убедиться, что вы правильно делаете вызов из jQuery, который включает в себя установку contentType
и других полей;способ, которым вы делаете вызов, на самом деле недопустим, вы просто передаете сырой текст методу, а не действительную строку запроса или действительный JSON.
Кроме того, вы используете неправильный URL;Вы не хотите отправлять сообщения в конечную точку, вам нужно отправить в определенный метод, вы должны добавить это к URL.Опять же, связанная страница должна помочь объяснить все это.
Вот пример правильного сообщения jQuery Ajax:
$.ajax({
url: "/services/myservice.svc/SubmitMessage",
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{ \"message\": \"test\" }",
dataType: "json",
success: function(data) {
// do something
}
});