Ajax GET запрашивает метод страницы ASP.NET?

Ситуация, с которой я столкнулся на этой неделе: у нас есть вызов jQuery Ajax, который возвращается на сервер для получения данных

$.ajax(
{
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: fullMethodPath,
    data: data,
    dataType: "json",
    success: function(response) {
        successCallback(response);
    },
    error: errorCallback,
    complete: completeCallback
});

fullMethodPath - ссылка на статический метод на странице (скажем /MyPage.aspx/MyMethod).

public partial class MyPage : Page
{
    // snip

    [WebMethod]
    public static AjaxData MyMethod(string param1, int param2)
    {
        // return some data here
    }
}

Это работает, без проблем.

Коллега попытался заменить этот вызов тем, где тип был "GET". Это сломалось, я должен был это исправить. В конце концов, я вернулся к POST, потому что нам нужно было исправление быстро, но оно меня прослушивало, потому что семантически GET в этом случае более корректен.

Как я понимаю, jQuery переводит объект в данные в строку запроса: /MyPage.aspx/MyMethod?param1=value1&param2=value2, но все, что я мог получить, это содержимое страницы MyPage.aspx.

Это просто "функция" методов страницы, или есть способ сделать запрос GET?

Ответ 1

Из соображений безопасности ASP.NET AJAX поддерживает только запросы POST.