我有一个jquery函数,它对web服务器上的web服务方法进行ajax调用,该方法返回一个包含数据的html表。我使用.html()在div上呈现返回值。这可以在火狐,Chrome,Safari上运行,但不能在IE8上运行
$.ajax({
type: "POST",
url: "./../WebAjaxCalls.asmx/GetProductInstruction",
data: "{'ProductID':'" + $("#txtProductID").val() + "'}",
success: function(data) {
if (data.d[0] == "true") {
**$("#dvProudctInstruction").html(data.d[1]);**
}
},
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function(e, textStatus, errorThrown) {
bReturn = false;
}
});
除了IE8之外,$("#dvProudctInstruction").html(data.d1);行可以在所有浏览器上运行。
在这方面的任何帮助都将非常感谢。
发布于 2011-09-18 03:14:33
发布于 2012-03-22 21:23:50
似乎IE8在使用jQuery的html()插入长文本字符串时遇到了问题,使得div的内容完全为空。我只是用一个非常长的字符串和一个只包含'blah‘的字符串来尝试,这就产生了所有的不同。
因此,如果您希望使用非常大的文本块(如2k+字符),请使用原生innerHTML。我没有做任何进一步的研究,所以我不知道在IE8中要通过html()传递的字符串的最大长度是多少。
发布于 2011-07-09 08:37:50
您是否尝试过将data.d[1]
设置为变量,然后添加该变量?
例如:
if (data.d[0] == "true") {
var results = data.d[1];
$("#dvProudctInstruction").html(results);
}
https://stackoverflow.com/questions/3105949
复制相似问题