我必须将XML从客户端发送到服务器端。
我采用的方法是:
首先,xml在javascript中转换为字符串,然后以uri
发布var url ='/ perl / set_zorder_xml.cgi'+'?'+ xmlString +'&'+ location +'&'+'nocache ='+ randomnumber;
xml string是包含字符串形式的xml的字符串。
post函数如下所示:
if (window.XMLHttpRequest) {
req_anno = new XMLHttpRequest();
req_anno.open("POST", url, false);
req_anno.send();
}
问题是,当我的xml字符串非常大时,会发生html 414错误,即url太大。 有没有出路,使用Javascript和perl
答案 0 :(得分:3)
即使您正在执行POST请求,您仍然会在URL的查询字符串中发送数据。相反,您应该将数据移动为POST数据,并将其从URL中删除。
req_anno.open("POST", '/perl/set_zorder_xml.cgi', false);
req_anno.send('xml=' + encodeURIComponent(xmlString));
XHR .send()
方法接受要作为请求主体发送的字符串(即POST数据)。