Ошибка HTTP 414. URL запроса слишком длинный

Я использую ckeditor для форматирования некоторых данных внутри моего textarea

<textarea id="editorAbout" rows="70" cols="80" name="editorAbout"></textarea>

теперь, когда я пытаюсь опубликовать эти данные с помощью jQuery.ajax как это

var about=escape( $("#editorAbout").text());
            $.ajax({
             type: "POST",
             url: "../Allcammand.aspx?cmd=EditAboutCompany&about="+about,
             type:"post",
                async: false ,
                   success: function(response){                                       

                    },
                    error:function(xhr, ajaxOptions, thrownError){alert(xhr.responseText); }
            });

Я получаю ошибку

ошибка HTTP 414. URL-адрес запроса слишком длинный.

Я получаю ошибку здесь:http://iranfairco.com/example/errorLongUrl.aspx
Попробуйте нажать на Редактировать Текст кнопка в левом нижнем углу страница.

Почему это происходит? Как я могу ее решить?

3 ответов


по данным этот вопрос максимальная практическая длина URL-адреса составляет 2000 символов. Это не сможет провести массовую статью Википедии, Как вы пытаетесь отправить.

вместо того, чтобы помещать данные в URL-адрес, вы должны поместить его в тело запроса POST. Вам нужно добавить data значение объекта, который вы передаете вызову функции ajax. Вот так:

function editAbout(){

    var about=escape( $("#editorAbout").text());
    $.ajax({
        url: "Allcammand.aspx?cmd=EditAboutCompany&idCompany="+getParam("idCompany"),
        type:"post",
        async: false,
        data: {
            about: about
        },
        success: function(response){                                       
        },
        error:function(xhr, ajaxOptions, thrownError){alert(xhr.responseText); ShowMessage("??? ?? ?????? ??????? ????","fail");}
    });
}

в моем случае произошла ошибка во время выполнения непосредственно перед вызовом post. Исправление его решило проблему.

Ошибка времени выполнения пыталась прочитать $('#example').val() здесь $('#example') элемент не существует (т. е. undefined).

Я уверен, что это, безусловно, поможет кому-то.


в моем случае ошибка была вызвана, хотя я использовал "POST", и вызов сервера был успешным. Оказалось, что мне не хватает атрибута DataType...странно, но теперь это работает

            return $.ajax({
            url: url,
            type: 'POST',
            dataType: 'json',
            data: JSON.stringify(data)
        })