我正在jQuery中对我网站上的另一个页面执行简单的AJAX post请求以获取XML文档响应。我将响应放入pre
元素,并启用了语法高亮显示。响应很顺利(我可以alert
它),但当我尝试使用jQuery在pre
函数中分配它时,它没有被添加到handlResponse
元素。
<head>
<script>
...
function handleResponse(response, status)
{
$("#output").text(response);
}
$.post(url, data, handleResponse, "text");
...
</script>
</head>
...
<pre id="output">
</pre>
为了清楚起见,上面的javascript代码是在jQuery的文档就绪函数中。任何帮助肯定会受到赞赏。
答案 0 :(得分:1)
尝试使用html
代替text
...
$("#output").html(response);
编辑:如果您认为转义是问题,以下内容应该足以显示...
response = response.replace(/</g, "<");
$("#output").html(response);
答案 1 :(得分:1)
三件事:
响应是否正确传递?通过在功能本身内做出响应警报来检查。
是否正确调用了该函数?通过让它执行与响应变量(alert("Yo!")
)无关的警报进行检查。
是否正确插入了文字?我可以告诉它应该工作,但为了完全调试,添加这样的三元组:
var preText = (response != "") ? response : "The problem is with the reponse";
答案 2 :(得分:0)
显然这是一个糟糕的问题。我正在使用javascript lib SyntaxHighlighter,并在我试图使用的pre
标记上预加载了语法高亮显示。我的解决方案是删除标记并在ajax响应进入时动态创建它。除了我正在尝试确定如何在动态附加的dom元素上加载突出显示这一事实之外,这个效果很好。
感谢您的回复。