context.Response.ContentType = "text/plain";
context.Response.Write("function hao() {");
context.Response.Write("mss = document.createElement('div');");
context.Response.Write("document.body.appendChild(mss);");
context.Response.Write("}");
context.Response.Write("hao();");
document.body对象为空 怎么该?
你根本没有输出HTML结构,当然没有body了
这样子一定会有问题的,这里是输出就执行,如果你这个ashx调用是通过ajax的话还好说,如果是其他的方式的话会存在解析先后的问题,这里的话你可以如下修改:
context.Response.ContentType = "text/plain";
context.Response.Write("<script type='text/javascript'>");
context.Response.Write("function hao() {");
context.Response.Write("var mss = document.createElement('div');");
context.Response.Write("document.body.appendChild(mss);");
context.Response.Write("}");
context.Response.Write("window.onload=function(){hao();}");//如果是aspx页面中加载这个页面,且是aspx页面加载完成后才加载这个页面的话哪么这句可以不要
context.Response.Write("</script>");
楼上的说的都没错,你先检查你是否在输出这段代码的页面有body元素!再就是,这段代码执行的地方,是不是在head里面直接输出执行的,如果这样的话,也有可能出现这个问题,因为这样直接写在head里在的话,我这边出现过不能找到body的情况!