Вызовы JSON не работают после переключения типа на POST вместо GET

Я использую фреймворк JayRock с ASP.NET, чтобы вернуть JSON, потребляемый через javascript. Все работало нормально, пока я не изменил вызов $.ajax с GET на POST. После этого изменения я теперь получаю эту ошибку.

{"id":null,"error":{"name":"JSONRPCError","message":"Missing value.","errors":[{"name":"JsonException","message":"Missing value."}]}}

Вот мой JavaScript:

    var tmp = '{ "assID": 52 }';
    var tmpObj = $.parseJSON(tmp);


$.ajax
({
    type: "POST",
    url: '/jsonC.ashx/tester',
    dataType: 'json',
    data: tmpObj,
    async: true,
    contentType: 'application/json',
   success: function (result) {
        console.log(JSON.stringify(result));
    }
})

У кого-нибудь есть идеи? Заранее спасибо.

2 ответа

Решение

Вот определение того, что следует делать:

var dataString = '{ "assID": 52 }'; 
var postData = $.parseJSON(dataString);
var response;
$.ajax({
  type: 'POST',
  url: '/jsonC.ashx/tester',
  contentType: 'application/json',
  data: JSON.stringify(postData),
  dataType: 'json',
  success: function(data) {
      //do something for success if you want. If your response is JSON:
      response = $.parseJSON(data)
  },
  error: function(data) {
      //do somtething for error if you want. If your response is JSON:
      response = $.parseJSON(data)
  }
});

Вы должны добавить свои параметры в качестве данных в значениях конфигурации...

$.ajax
({
    type: "POST",
    url: '/jsonC.ashx/tester',
    dataType: 'json',
    data: {id: some_value, other_var: 'some string'}
    async: true,
    contentType: 'application/json',
   success: function (result) {
        console.log(JSON.stringify(result));
    }
})

просто замените содержимое данных вашими фактическими значениями. В существующем состоянии вы публикуете на странице, но не отправляете сообщения.

Другие вопросы по тегам