Запрос AJAX слишком длинный / плохой запрос - PullRequest
2 голосов
/ 03 апреля 2011

Привет всем

Я использую следующий код для отправки данных для обновления в файл php.Проблема в том, что я получаю слишком длинную заявку.Я использовал метод «POST», я верю, что это правильно.Да, данные, которые я посылаю, очень большие.Итак, что я могу сделать?

   var link = 'updateFirstPost.php?post_id='+id+'&first_post='+encodeURIComponent(text);


    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
        var xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
        var  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
{
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
                refreshPost(div_post, thread_id , id);
    }
}

    xmlhttp.open("POST",link,true);
    xmlhttp.send();

Проблема в том, что я получаю слишком длинную заявку.Я использовал метод «POST», я верю, что это правильно.Так что я могу сделать?

1 Ответ

4 голосов
/ 03 апреля 2011

Вы помещаете данные в URL, что всегда приводит к их отправке в виде данных GET.GET-запросы имеют естественные ограничения по длине как на стороне сервера, так и на стороне браузера.

Чтобы отправить данные через POST, вам необходимо указать следующие параметры:

var params = 'first_post='+encodeURIComponent(text); 

....

http.send(params);

(украдено из здесь )

Если это не для целей обучения, рассмотрите возможность использования JS-фреймворка, такого как jQuery.Это делает такие вещи намного проще и менее трудоемкими.

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