我有一个ajax方法去webservice取回一个<table>....</table>ajax的datatype为xml.
返回的数据我用如下方式解析,responseText为返回的xmlObject
var content = responseText.documentElement.firstChild.nodeValue;这样解析出来的结果就是webservice中返回的<table>....</table>字符串.在IE中一切正常. 但是在火狐中 解析出来的数据被截断了. 大概7000多个字符左右就被咔嚓. 解析出来的数据不完整. 求问这个是什么问题.
另外问一个问题,如果我的ajax的datatype设置为text. 返回的数据直接用$("#div").html(response)这个方法,他会把<table>字符串放进DIV 而不是形成一张表. 这个问题又怎么解决呢
返回的数据我用如下方式解析,responseText为返回的xmlObject
var content = responseText.documentElement.firstChild.nodeValue;这样解析出来的结果就是webservice中返回的<table>....</table>字符串.在IE中一切正常. 但是在火狐中 解析出来的数据被截断了. 大概7000多个字符左右就被咔嚓. 解析出来的数据不完整. 求问这个是什么问题.
另外问一个问题,如果我的ajax的datatype设置为text. 返回的数据直接用$("#div").html(response)这个方法,他会把<table>字符串放进DIV 而不是形成一张表. 这个问题又怎么解决呢
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">var HtmlUtil = {
HTML_CHARS : {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'/': '/',
'`': '`'
},
escapeHTML: function (html) {
return html.replace(/[&<>"'\/`]/g,
function (match) {
return HtmlUtil.HTML_CHARS[match];
});
}
}
window.onload = function() {
var s = '<table border=1><tr><td>aaaaa</td></tr></table>';
$("#d").html(HtmlUtil.escapeHTML(s));
}
</script>
</HEAD><BODY>
<div id="d"></div>
</BODY>
</HTML>
$("#div").html(response)
},"html");
++楼主可以调试一下。 datatype设置为text 也很好。
现在大多数应用都是这样做的,返回的是 json 字符串