JQuery AJAX постоянно вызывает ошибки ASP.NET WebMethod - PullRequest
1 голос
/ 30 августа 2009

У меня действительно простой AJAX-метод внутри моего Default.aspx.cs, и он выглядит так:

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [WebMethod]
    public static string GetDate()
    {
        return DateTime.Now.ToString();
    }
}

И Default.aspx выглядит так:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" src="http://192.168.1.2/tizma.com/js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">   
        $(document).ready(function() {
          // Add the page method call as an onclick handler for the div.
          $("#Result").click(function() {
            $.ajax({
              type: "POST",
              url: "Default.aspx/GetDate",
              data: "{}",
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: AjaxSucceeded,
              error: AjaxFailed
            });
          });
        });

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

        function AjaxFailed(result)
        {
            alert(result.status + " " + result.statusText);
        }
    </script>
</head>
<body>
    <div id="Result">Click me</div>
</body>
</html>

Проблема в том, что когда я нажимаю div, функция ошибки ajax - это все, что когда-либо вызывалось с состоянием 200.

Что я делаю не так?

1 Ответ

0 голосов
/ 30 августа 2009

Не уверен, если это вызывает проблему, но у вас есть строка, которая гласит:

data: "{}",

должно читаться следующим образом:

data: {},

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

Также, строки читают:

contentType: "application/json; charset=utf-8",
dataType: "json",

мне кажется ненужным, потому что для начала не очевидно, что ваш веб-метод на самом деле возвращает json. Я думаю, что это просто возвращает строку. Попробуйте полностью удалить эти три строки и посмотрите, не начнет ли это работать.

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