PageMethod возвращает всю страницу - PullRequest
4 голосов
/ 15 августа 2011

Привет, мы используем jquery для отправки ajax-запросов, но он каждый раз возвращает содержимое страницы.Мы используем .NET Framework версии 2

$.ajax({
type: "POST",
url: "ajaxPage.aspx/testMethod",
data: "{test:'test'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
    $("#span_result").html(result.d).fadeIn();
},
error: function (msg) {
     $("#span_result").hide();
}
}); 

//ajaxPage.aspx.cs
[System.Web.Services.WebMethod]
public static string testMethod(string test)
{
     return test;
}

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

У вас есть это в вашем web.config?

<system.web>
  <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </httpModules>
</system.web>
0 голосов
/ 16 августа 2011

Модуль ScriptModule, предложенный SP, вероятно, является тем, чего вам не хватает.

Еще одна вещь - ваш параметр данных недействителен.Я не думаю, что это вызовет проблему, которую вы видите сейчас, но она может начать вызывать ошибку недопустимого примитива JSON, как только вы исправите текущую проблему.Измените его следующим образом:

data: '{"test":"test"}'

Имена ключей должны всегда заключаться в кавычки, а кавычки вокруг ключей и значений JSON должны быть двойными кавычками (хотя ASP.NET более прощающе относится к этой последней точке).

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