我有以下脚本将一些内容发布到服务器并将json结果写回用户浏览器。它没有按预期工作:(
$(document).ready(function () {
$('#productForm').ajaxForm({
dataType: 'json',
success: function (response) {
var tmp = '<tr>';
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';
tmp += '<td>' + response.Quantity + '</td>';
tmp += '<td>' + response.UnitPrice + '</td>';
tmp += '<td>' + response.ProfitRate + '</td>';
tmp += '<td>' + response.Description + '</td>';
tmp += '<td>' + response.Total + '</td>';
tmp += '</tr>';
$('#productsBody').append(tmp);
alternateRows();
},
clearForm: true,
resetForm: true,
timeout: 3000
});
});
在firefox中一切都很好,在chrome中,新行根本没有显示,但是我的一些小区域会改变颜色。
在Internet Explorer 8中我没有得到链接,它将链接视为常规文本。我会再尖叫一下,希望有人能告诉我为什么当我从尖叫中回来时它不起作用。
答案 0 :(得分:8)
尝试更改
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'>Kasta</a></td>';
为...
tmp += '<td><a href="/Invoice/DeleteProduct/' + response.Id +'">Kasta</a></td>';
答案 1 :(得分:2)
这可能是一个<tbody>
问题:浏览器会自动将tbody
附加到表格构造中,而您正在按照自己的行为进行处理。不确定,但您可以尝试在tbody
周围包裹tr
,看看它是否表现得更好。也许其他人有不同的想法。
除此之外,Chrome的“Inspect Element”是你的朋友:它应该可以告诉你标记的哪个部分出现乱码。
答案 2 :(得分:0)
无法做到。即使您使用所有浏览器今天,它也可以在明天的浏览器中轻松打破下一个版本。 (假设有一个新版本的jQuery准备就可以解决任何可能出现的问题,如果没有,我猜你不得不等待,只能容忍一个破碎的网站。)
唯一100%肯定的答案是:如果您需要一致的平台,请使用JavaScript进行认真的开发,使用Silverlight,Flex或JavaFX等VM解决方案。 JavaScript / AJAX / DHTML应该只用于你可以承受几天破坏的非关键任务的东西。