昨天写了一段代码,关于ajax的,一直没有取到从另一个页面response出来的XML值。
哎,今天上午弄了一个上午,终于知道为什么了,原来是我没有设置Response.ContentType=("text/xml;charset=UTF-8");输出的是“text/html”格式的,所以我老是出不到responseXML的值,在输出前面加上Response.ContentType=("text/xml;charset=UTF-8");就可以了。呵呵。。。兴奋啊。。。
贴出部分code:
后台方法:
public void getxml()
{
System.Text.StringBuilder sb=new System.Text.StringBuilder();
sb.Append("<?xml version=/"1.0/"?>");
sb.Append("<CN>");
for(int i=0;i<10;i++)
{
sb.Append("<china sex='");
if(i%2==0)
{
sb.Append("1");
}
else
{
sb.Append("2");
}
sb.Append("' age='");
sb.Append(i);
sb.Append("'/>");
}
sb.Append("</CN>");
Response.ContentType=("text/xml;charset=UTF-8");
Response.Write(sb.ToString());
}
前台:
function updatePage() { try { if(xmlhttp.readyState==4) { if(xmlhttp.status==200)
{ debugger //设置断点调试
var xml=xmlhttp.responseXML;
}
+xml+"
"; document.write(ss);*/ var a=xml.getElementsByTagName("china"); var Mynode=xml.lastChild; for(var i=0;i
希望和更多的人交流ajax技术,
QQ:5171031
MSN:wgale@126.com
FeedBack:
代码如下:
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version='1.0'?>");
sb.Append("<pictures>");
if (dt != null || dt.Rows.Count > 0)
{
sb.Append("<item>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<name>" + row["ALBUM_NAME"] + "</name><url>" + row["ALBUM_URL"] + "</url><description>" + row["ALBUM_DESC"] + "</description>");
}
sb.Append("</item>");
}
sb.Append("</pictrues");
Response.ContentType = ("text/xml;charset=UTF-8");
Response.Write(sb.ToString());
是什么原因?
回复 引用
rain: 我也遇到了 这个问题,但是还是解决不了
代码如下:
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version='1.0'?>");
sb.Append("<pictures>");
if (dt != null || dt.Rows.Count > 0)
{
sb.Append("<item>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<name>" + row["ALBUM_NAME"] + "</name><url>" + row["ALBUM_URL"] + "</url><description>" + row["ALBUM_DESC"] + "</description>");
}
sb.Append("</item>");
}
sb.Append("</pictrues");
Response.ContentType = ("text/xml;charset=UTF-8");
Response.Write(sb.ToString());
是什么原因?
--------------------------------------------------------
把你的这行改成:sb.Append("<?xml version='1.0'?>"); 换成这样的:
sb.Append("<?xml version=/"1.0/"?>"); 这样就OK了.要知道XML里面实体才有单引号的吧.你直接用单引号,XML好像不识别吧...
回复 引用
新闻频道
社区
小组
博问
网摘
闪存
不可多得的Javascript(AJAX)开发工具 - Aptana
不可多得的Javascript(AJAX)开发工具 - Aptana
关于IE问题,请教和求救
解决explorer.exe 应用程序出错 问题
AJAX的难处-如何利用AJAX验证且防止表单提交
jQuery与ASP.NET AJAX可以同时使用吗?
刚学AJAX的,来报到
WCF与AJAX的跨域问题?
相关链接:<script type="text/javascript"> var title = document.title; document.write("