$ .ajax нет JSON - PullRequest
       23

$ .ajax нет JSON

1 голос
/ 25 февраля 2009

Почему функция обратного вызова получает объект XMLHttpRequest вместо объекта JSON?

<%@ Page language='C#' %>
<% 
   if (Request.RequestType == "POST") {
      System.Threading.Thread.Sleep(1000);
      int c;
      if (Session["c"] == null)
         c = 1;
      else
         c = (int)Session["c"] + 1;
      Session["c"] = c;
      Response.ContentType = "application/json";
      Response.Write("{\"mike\": " + c.ToString() + "}");
      Response.End();
   }
%>
<html>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function callback(data,s) {
   if (s=="success")
      $("h1").text(data.responseText);
   else
      $("h1").text(s);
   setTimeout(updateUI,0);
}
function updateUI () {
   $.ajax({ url: "timer.aspx",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            timeout: 5000,
            type: "POST",
            data: "{}",
            complete: callback});
}
$(function() {
   setTimeout(updateUI,0);
});
</script>
<body>
<h1/>
</body>
</html>

1 Ответ

1 голос
/ 25 февраля 2009

Если вы читаете jQuery API, он говорит, что первым аргументом является объект XMLHttpRequest.

Возможно, вы захотите использовать опцию обратного вызова success в $. ajax, если вам нужен объект JSON.

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