我遇到了IE 10和jQuery .load()的问题。我有一个PHP页面,我加载网站后加载:
$(document).ready( function() {
$('#words').html('<div id="loading"><div id="loading-text">Analyzing frequency data...</div><div id="loading-image"><img src="loading.gif"></div></div>');
$('#words').load('translate.php?character=<?php echo $character1;?>');
});
它在Chrome中运行良好,但在IE中,“加载”文本显示约1秒钟后消失,并且translate.php文件永远不会加载。
如果我将代码更改为
$(document).ready( function() {
$('#words').html('<div id="loading"><div id="loading-text">Analyzing frequency data...</div><div id="loading-image"><img src="loading.gif"></div></div>');
$('#words').load('index.php');
});
它装得很好。但是,如果我将代码更改为:
$(document).ready( function() {
$('#words').html('<div id="loading"><div id="loading-text">Analyzing frequency data...</div><div id="loading-image"><img src="loading.gif"></div></div>');
$('#words').load('translate.php?character=章');
});
仍然不起作用。
另外,当我回复translate.php文件中的字符时,它显示为“?”这让我相信有一个字符编码问题。但是:
<meta charset="UTF-8">
代码<head>
可能是jQuery加载只在IE中填充编码吗?
我迷路了!
谢谢,Dan
答案 0 :(得分:3)
尝试对网址中的字符进行网址编码
$(document).ready( function() {
$('#words').html('<div id="loading"><div id="loading-text">Analyzing frequency data...</div><div id="loading-image"><img src="loading.gif"></div></div>');
$('#words').load('translate.php?character='+encodeURIComponent('<?php echo $character1;?>'));
});