ajax callback 函数中执行如下js:
document.open("text/html","replace");
document.write("bb");
document.write("cc");
document.close();
浏览器整个是白的;
如果去掉document.open("text/html","replace");
浏览器只显示"bb";
请问这是为什么呢?
怎么才能把bbcc都显示出来呢?
[b]问题补充:[/b]
有两个JSP页面如下
ab.jsp
<br> function aa(jsp){ <br> var xmlreq = false; <br> if (window.XMLHttpRequest) { <br> xmlreq = new XMLHttpRequest(); <br> } else if (window.ActiveXObject) { <br> try { <br> xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); <br> } catch (e1) { <br> try { <br> xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); <br> } catch (e2) { <br> xmlreq = false; <br> } <br> } <br> }<br> xmlreq.onreadystatechange = getReadyStateHandler(xmlreq, showMs); <br> xmlreq.open("post", jsp, true); <br> xmlreq.send(); <br> }<br> function getReadyStateHandler(xmlreq, responseHandler){<br> return function(){ <br> if (xmlreq.readyState == 4) { <br> if (xmlreq.status == 200) {<br> responseHandler(xmlreq);<br> } else {<br><br> alert("HTTP error " + xmlreq.status + ": " + xmlreq.statusText);<br> }<br> }<br> }<br> }<br> function showMs(xmlreq){<br><br> alert(xmlreq.responseText);<br> document.open("text/html","replace"); <br> document.write("bb"); <br> document.write("cc"); <br> document.close(); </p> <pre><code>} </script> </head> <body> <input type="button" name="query1" value="aa.jsp" onClick="aa('aa.jsp')" /> <input type="button" name="query2" value="ab.jsp" onClick="aa('ab.jsp')" /> </body> </code></pre> <p></html></p> <p>aa.jsp</p> <p><html><br> <head><br> <title></title><br> </head><br> <body><br> aaaaaa<br> </body><br> </html></p> <p>访问ab.jsp<br> 点击两个按钮就会发现<br> 只有点击第二个按钮才会显示"bbcc"<br> 击第一个按钮浏览器整个是白的。</p> <p>[b]问题补充:[/b]<br> 是会出现我所说的问题吧?<br> 该不会是我浏览器的问题吧!<br> [b]问题补充:[/b]<br> ajax callback 函数中执行如下js:<br> document.open("text/html","replace");<br> document.write("bb");<br> document.write("cc");<br> document.close();<br> 浏览器整个是白的;<br> 如果去掉document.open("text/html","replace");<br> 浏览器只显示"bb";<br> 请问这是为什么呢?<br> 怎么才能把bbcc都显示出来呢?</p> <p>[b]问题补充:[/b]<br> 有两个JSP页面如下<br> ab.jsp</p> <p><html><br> <head><br> <title></title><br> <script type="text/javascript"><br> function aa(jsp){ <br> var xmlreq = false; <br> if (window.XMLHttpRequest) { <br> xmlreq = new XMLHttpRequest(); <br> } else if (window.ActiveXObject) { <br> try { <br> xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); <br> } catch (e1) { <br> try { <br> xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); <br> } catch (e2) { <br> xmlreq = false; <br> } <br> } <br> }<br> xmlreq.onreadystatechange = getReadyStateHandler(xmlreq, showMs); <br> xmlreq.open("post", jsp, true); <br> xmlreq.send(); <br> }<br> function getReadyStateHandler(xmlreq, responseHandler){<br> return function(){ <br> if (xmlreq.readyState == 4) { <br> if (xmlreq.status == 200) {<br> responseHandler(xmlreq);<br> } else {<br><br> alert("HTTP error " + xmlreq.status + ": " + xmlreq.statusText);<br> }<br> }<br> }<br> }<br> function showMs(xmlreq){<br><br> alert(xmlreq.responseText);<br> document.open("text/html","replace"); <br> document.write("bb"); <br> document.write("cc"); <br> document.close(); </p> <pre><code>} </script> </head> <body> <input type="button" name="query1" value="aa.jsp" onClick="aa('aa.jsp')" /> <input type="button" name="query2" value="ab.jsp" onClick="aa('ab.jsp')" /> </body> </code></pre> <p></html></p> <p>aa.jsp</p> <p><html><br> <head><br> <title></title><br> </head><br> <body><br> aaaaaa<br> </body><br> </html></p> <p>访问ab.jsp<br> 点击两个按钮就会发现<br> 只有点击第二个按钮才会显示"bbcc"<br> 击第一个按钮浏览器整个是白的。</p> <p>[b]问题补充:[/b]<br> 是会出现我所说的问题吧?<br> 该不会是我浏览器的问题吧!<br> 我用的是IE6<br> [b]问题补充:[/b]<br> :shock: 没人遇见过这样的问题吗?<br> [b]问题补充:[/b]<br> 改成 xmlreq.open("post", jsp, false); <br> 就可以了<br> 不知道异步时出了什么问题?</p>