0

我在使用 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 文件中回显该字符时,它会显示为“?” 这让我相信存在字符编码问题。然而:

  • 所有页面都编码为“UTF-8 without BOM”
  • <meta charset="UTF-8"><head>标签里
  • 未从 translate.php 加载的汉字显示正常

难道是 jQuery 加载只在 IE 中填充编码?

我搞不清楚了!

谢谢,丹

4

1 回答 1

3

尝试对 url 中的字符进行 url 编码

$(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;?>'));
});
于 2013-04-27T03:39:14.130 回答