jQuery ajax GET失败了

时间:2010-12-10 17:39:43

标签: post jquery get

我在.js文件中有以下jQuery ajax请求:

$.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 个答案:

答案 0 :(得分:1)

WebMethods are by default restricted to POST,您需要明确启用GET请求,例如在UseHttpGet上使用ScriptAttribute,如下所示:

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