5

我必须将 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();
            }

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

4

1 回答 1

4

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

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

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

于 2013-07-17T11:26:53.823 回答