AJAX 请求太长/错误请求

Imr*_*hsh 2 javascript ajax

大家好

我正在使用以下代码发送数据以更新到 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();
Run Code Online (Sandbox Code Playgroud)

问题是我收到一个请求太长的问题。我已经使用了“POST”方法,我相信这是正确的方法。那我能做什么?

Pek*_*ica 5

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

要通过 POST 发送数据,您需要像这样放置参数:

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

....

http.send(params);
Run Code Online (Sandbox Code Playgroud)

(从这里来的

如果这不是出于学习目的,请考虑使用像 jQuery 这样的 JS 框架。它使这样的事情变得更加容易和更少的代码密集型。