【发布时间】:2011-07-28 07:59:04
【问题描述】:
我正在尝试创建一个发送XMLHttpRequest 并返回包含响应内容的字符串的函数,但它总是返回null。我该如何解决这个问题?
代码:
函数 getPage() { 如果(窗口.XMLHttpRequest) { xmlhttp=新的 XMLHttpRequest(); } 别的 { xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); } xmlhttp.open('GET','page.php',false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; if ($.browser.msie) 返回 xmlDoc.xml; 否则返回 (new XMLSerializer()).serializeToString(xmlDoc); }【问题讨论】:
-
问题一:你用的是什么浏览器?有两种不同的代码路径。问题2:既然你好像在使用JQuery,为什么不使用$.get()?
-
我在 jQuery 中使用 $.ajax() 因为它提供了更多选项。然后你可以只监听成功、完成和错误,看看你的问题是什么。
-
我正在使用 jQuery。实际上,我可以使用
xmlhttp.responseText而不是xmlhttp.responseXML。$.get()是异步的吗? -
xmlhttp.responseText 应该总是返回响应的内容,而 xmlhttp.responseXML 只有在响应是 xml 时才会返回。尝试记录 responseText 以查看实际的响应;可能是它不是 xml。
标签: javascript xml-serialization xmlhttprequest