在.ashx页面中,怎么样给ajax返回XML数据~public void ProcessRequest (HttpContext context) {
                string chid=context.Request.Params["Chid"];
                DataTable dt = new DataTable();                ....(将datatable转换成了XML字符串)                  context.Response.Write("<?xml version='1.0' encoding='utf-8'?>");
                context.Response.Write(CDataToXml(dt));    //如果这样返回能行吗?
}这样返回的话,感觉虽然是按照XML写法返回的,但是其实是text类型的吧~~火狐浏览器可以以xml的方式去解析,但是IE不行,不知道这样返回是不是正确的~?还有。如果是返回json的话,该怎么写呢~????

解决方案 »

  1.   

    加一句
    context.Response.ContentType = "text/xml";
    来指定文件类型
      

  2.   

    json 
    ContentType = "application/json";
      

  3.   

    我加上了context.Response.ContentType = "xml";
    context.Response.Charset = "UTF-8";
    还不行~这两句原来就有呢,在IE下jquery中ajax的error会弹出错误的~~~
    但在火狐下可以进到success中的
      

  4.   

    你可以试试先将它以XML的形式写到txt里面去,然后返回一个值,ajax收到这个值以后就从指定的文本中去读取,我想这个方法在IE下应该可以行的吧
      

  5.   

    解决了,是1楼说的方法,不能写成context.Response.ContentType = "xml";必须要是context.Response.ContentType = "text/xml";就OK了~