JQuery AJAX GET не удается - PullRequest
       11

JQuery AJAX GET не удается

0 голосов
/ 10 декабря 2010

У меня есть следующий запрос jQuery ajax в файле .js:

$.ajax({
  type: "GET",
  url: "Download.aspx/ZipCheck",
  contentType: "application/json; charset=utf-8",
  data: "{}",
  dataType: "json",
  success: AjaxSucceeded,
  error: AjaxFailed
});

function AjaxSucceeded(result) {
  alert(result.d);
}

function AjaxFailed(result) {
  alert(result.status + ' ' + result.statusText);
}

Запрос не выполняется, и появляется предупреждение «200 OK». Однако, если я изменю тип запроса ajax на «POST», он будет работать, и у меня появится предупреждение с ожидаемыми данными, возвращаемыми из Download.aspx / ZipCheck.

Почему происходит сбой GET и почему POST успешен? Должно быть мое понимание недостатков в разнице между ними, потому что я думал, что запрос GET все равно будет возвращать что-то с сервера.

1 Ответ

1 голос
/ 10 декабря 2010

WebMethods по умолчанию ограничены POST , вам необходимо явно включить запрос GET, например, используя UseHttpGet для ScriptAttribute, как это:

[WebMethod, ScriptMethod(UseHttpGet=true)]
public thing ZipCheck() {
  //return object
}
...