如何将大数据发布到服务器?

Zee*_*han 5 javascript string post xmlhttprequest

我必须将 XML 从客户端发送到服务器端。

我采用的方法是:

首先将 xml 转换为 javascript 中的字符串,然后作为 uri 发布

var url = '/perl/set_zorder_xml.cgi'+'?'+xmlString+'&'+location+'&'+'nocache='+randomnumber;

xml 字符串是包含字符串形式的 xml 的字符串。

post函数如下所示:

if (window.XMLHttpRequest) {
            req_anno = new XMLHttpRequest();
            req_anno.open("POST", url, false);
            req_anno.send();
            }
Run Code Online (Sandbox Code Playgroud)

问题是当我的 xml 字符串非常大时,会出现 html 414 错误,即 url 太大。有什么办法,用的是Javascript和perl

MrC*_*ode 4

即使您正在执行 POST 请求,您仍然会在 URL 的查询字符串中发送数据。相反,您应该移动要作为 POST 数据发送的数据,并将其从 URL 中删除。

req_anno.open("POST", '/perl/set_zorder_xml.cgi', false);
req_anno.send('xml=' + encodeURIComponent(xmlString));
Run Code Online (Sandbox Code Playgroud)

XHR.send()方法接受要作为请求正文(即 POST 数据)发送的字符串。