ajax запрос Mootools к веб-формам asp.net - PullRequest
0 голосов
/ 24 октября 2011

Я пытаюсь отправить запрос на сервер, но он не срабатывает при использовании отладчика?

сервер:

 public partial class _Default : System.Web.UI.Page
    {


        public string HitThis()
        {
            return "braza";

        }
    }


 <script type="text/javascript">

        var myRequest = new Request({
            method: 'post',
            url: '/Default.aspx/HitThis',
            onSuccess: function () {
                alert('good');
            },
            onFailure: function () {
                alert('nope');
            }


        });

        myRequest.send();


</script>

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Вы должны сначала понять, как работает ASP.NET AJAX Script Services или PageMethod!Методы страницы должны быть украшены атрибутом WebMethod и должны быть статическими.

[WebMethod]
public static string HitThis()
{
}

См. эту статью , которая иллюстрирует вызов метода страницы с использованием jquery.Вы можете принять это с Mootools.Однако обратите внимание, что для методов страницы необходим тип содержимого, чтобы быть данными JSON, а ответ также будет в формате JSON.

Возможно, вы можете написать свою собственную логику проводки на странице ASP.NET, используя Request.PathInfo если вы хотите использовать обычную форму публикации.Например,

protected void Page_Load(object sender, EventArgs e)
{

    if (this.Request.PathInfo == "HitThis")
    {
       HitThis();
    }
}

В вашем методе вам нужно работать с Response (HttpResponse), и после изменения ответа вам необходимо завершить его (HttpResponse.End), чтобы обычная обработка страницы небывает.Если вашему методу нужны параметры, вы должны передать их через данные формы и / или строку запроса.

0 голосов
/ 24 октября 2011

Если вы хотите иметь возможность вызывать свой метод HitThis, вам нужно сделать этот метод статическим, украсить его атрибутом Web Method и включить методы страницы на вашем ScriptManager

Пример:

 <asp:ScriptManager ID="ScriptManager" runat="server"
       EnablePageMethods="true" />


   [WebMethod]
   public static string HitThis()
   {
       return "Hello World";
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...