$ .ajax и webmethod / pagemethods - PullRequest
       18

$ .ajax и webmethod / pagemethods

0 голосов
/ 22 сентября 2009

Я пытаюсь вызвать метод страницы, у которого нет параметров, и я не могу заставить его работать.

Если у меня есть один параметр в методе страницы, он работает нормально.

$.ajax({
  type: "POST",
  url: "Default.aspx/getLastCallData",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
    alert(msg.d);
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert('Couldnt get call data');
  }
});

Любые идеи.

Ответы [ 2 ]

3 голосов
/ 22 сентября 2009

Поскольку вы не передаете никаких данных, вам все равно следует добавить параметр data и передать пустой объект JSON.

Отправляя пустой объект JSON, jQuery правильно отправит contentType, который вы определили в вызове $ .ajax. Это странная причуда jQuery, которая на самом деле не была объяснена.

Добавьте следующий параметр:

data: "{}"

Итак, ваш звонок должен выглядеть так:

$.ajax({
  type: "POST",
  url: "Default.aspx/getLastCallData",
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
    alert(msg.d);
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert('Couldnt get call data');
  }
});
0 голосов
/ 22 сентября 2009

Вы пробовали переключить POST на GET? Не знаю, имеет ли это какое-то значение, но поскольку вы не отправляете какие-либо данные, вы на самом деле ничего не публикуете, вы просто получаете данные ... это может быть что-то странное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...