我正在使用jQuery通过post方法将数据发送到服务器。单击html页面内的span标签即可激活该功能。发布数据设置一个php会话变量,然后需要重新加载页面。 Chrome中的一切都运行良好,但在IE9中,我必须多次点击才能看到效果。如果我在函数内部发出警报,它可以正常工作(但我不想要那个警报)。
我不是jQuery的有经验的用户。
这是jQuery的代码
$(document).ready(function(){
$("#ciril").click(function(){
$.post('myphpfile.php', { 'lang' : 'cir'});
location.reload();
});
$("#latin").click(function(){
$.post('myphpfile.php', { 'lang' : 'lat'});
location.reload();
});
});
以下是span标记
<span id="latin">Text1</span>
<span id="ciril">Text2</span>
答案 0 :(得分:0)
当您使用Ajax时,您不希望进行位置重新加载,因为它首先否定了使用Ajax的重点。
如果你仍坚持这样做,你需要重新加载回调
$(function(){
$("#ciril").on("click",function(){
$.post('myphpfile.php', { 'lang' : 'cir'}, function() {
location.reload();
});
$("#latin").on("click",function(){
$.post('myphpfile.php', { 'lang' : 'lat'}, function() {
location.reload();
});
});
如果您要加载的页面与您所在的页面相同,只需提交表单并让服务器将页面返回给您
这是一种更简洁的方式
<span class="lang" id="lat">Text1</span>
<span class="lang" id="cir">Text2</span>
使用
$(function(){
$(".lang").on("click",function(){
$.post('myphpfile.php', { 'lang' : this.id }, function() {
location.reload();
});
});