AJAX请求太长/不好请求

时间:2011-04-03 12:02:11

标签: javascript ajax

问候每个人

我使用以下代码发送数据以更新到php文件。问题是我得到了一个Request Too Long问题。我使用了'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 个答案:

答案 0 :(得分:4)

您将数据放入URL,这将始终将它们作为GET数据发送。 GET请求在服务器端和浏览器端都有自然长度限制。

要通过POST发送数据,您需要输入如下参数:

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

....

http.send(params);

(从here被盗)

如果这不是出于学习目的,请考虑使用像jQuery这样的JS框架。它使这样的东西更容易,更容易,代码密集度更低。