dev.net.ua

Українська Спільнота Розробникiв
 
Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID
в Пошук

Отправка данных методом POST в Prototype

Останнє повідомлення 30-10-2006, 3:39 від Sergey. 2 відповіді.
Сортувати: Попереднє Наступне
  •  27-10-2006, 8:48 186

    Отправка данных методом POST в Prototype

    Не могу найти примера с использованием метода POST в библиотеке Prototype. Везде одни примеры с методом GET.
    Подскажите, как мне отправить запрос с POSTом нескольких переменных.
  •  30-10-2006, 2:17 210 у відповідь на 186

    Re: Отправка данных методом POST в Prototype

    Нет ничего сложного, если взять пример из документации, то прийдется изменить параметр с 'get' на 'post' и добавить опцию postBody. Поля для отправки методом POST передаются так же, как параметры для метода GET. Это будет выглядеть так:
    var sPost = 'field1=' + value1 + '&field2=' + value2;
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            parameters: pars,
            postBody: sPost,
            onComplete: showResponse
        });


    Kind regards,
    Tim.
  •  30-10-2006, 3:39 223 у відповідь на 186

    Re: Отправка данных методом POST в Prototype

    В Prototype передача параметров методом POST ничем не отличается от передачи параметров методом GET. Нужно просто задать значение property "method" равное "post".

    Вот рабочий пример для ASP.NET:

    Это страница requestor.aspx. С нее отправляется запрос с использованием метода POST.

    <%@ Page Language="C#" %>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <script language="javascript" type="text/javascript" src="scripts/prototype.js"></script>
        <script type="text/javascript">
        function makeRequest()
        {
            var requestParameters = {year: 2006, month: "October", day: 30};
            var url = 'responder.aspx';
            var myAjax = new Ajax.Request(url,
                {method:'post',
                 postBody:$H(requestParameters).toQueryString(),
                 onSuccess:showResponse});
        }
        function showResponse(originalRequest)
        {
            $('request_result').innerHTML = originalRequest.responseText;
        }
        </script>
    </head>
    <body>
        <input type="button" value="Make Request" onclick="makeRequest()" />
        <div id="request_result">
       
        </div>
    </body>
    </html>


    Это страница responder.aspx. Она обрабатывает полученный запрос и отправляет результат обратно на клиент.

    <%@ Page Language="C#" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            string year = Request.Form["year"];
            string month = Request.Form["month"];
            string day = Request.Form["day"];
            Response.Clear();
            Response.Write(month + " " + day + ", " + year);
        }
    </script>


    З повагою,
    Сергій
Переглядати як новосний Блог RSS в XML