ajax发送XML出现错误

jefflam 2006-08-13 06:44:55
请教各位大侠:

代码如下:
function savedraft()
{
var msg = document.getElementById("msg");
var postStr = window.frames["content___Frame"].window.frames[0].document.body.innerHTML;

var xmlDom=new ActiveXObject("MSXML2.DOMDocument");
xmlDom.loadXML("");
var domRoot= xmlDom.createElement("NewDataSet");
xmlDom.appendChild(domRoot);
var node= xmlDom.createElement("guid");
node.text = postStr
domRoot.appendChild(node);

var xmlhttp = getXMLRequester();
try{
xmlhttp.Open("POST","AutoSaver.aspx?content="+escape(postStr),true);
xmlhttp.setRequestHeader("Content-Length",postStr.length);
xmlhttp.setRequestHeader("Content-Type","text/xml");
xmlhttp.send(xmlDom.xml);
}
catch(err){
msg.innerHTML = "出现未知错误:" + err.message + "<br>" + xmlDom.xml;
msg.style.visibility = 'visible';
Cancel = true;
}


ti=AutoSaveTime;
timer();
}

目前的问题是:xmlDom.xml已经确认有值,但是如果我一次粘贴比较多的内容进去,就会出现错误。
可是这个内容其实也没多少。我统计一下字节在1849个,应该来说不是很大。

如果只有几行,是不会出错的。

请问究竟什么地方不对,是否需要规定XML的大小?
...全文
245 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jefflam 2006-08-13
  • 打赏
  • 举报
回复
我搞定了。谢谢你的提示。

就是这句话搞的鬼。

xmlhttp.Open("POST","AutoSaver.aspx?content="+escape(postStr),true);

改成:xmlhttp.Open("POST","AutoSaver.aspx",true);即可。

谢谢你~~~~
jefflam 2006-08-13
  • 打赏
  • 举报
回复
但是我没有用GET方式啊。我是用POST传一个XML过去的啊?难道这么写出错了?

不然要如何写才能够达到我传一个XML过去的需要?

谢谢你
manyroads 2006-08-13
  • 打赏
  • 举报
回复
应该是 xmlhttp.Open("POST","AutoSaver.aspx?content="+escape(postStr),true);这句出错了,你的内容很多的话话,包的头部是放不下的,具体头部的长度是多少,忘了.一般参数短的才用GET的方法.

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧