2011-04-06 94 views
1
工作一次

我有这个问题,在FF它的伟大工程,但在IE浏览器只能使用一次... 的HTML是AJAX请求只能在IE

<form> 
<input type="button" value="test" onclick="javascript:vote();"/> 
</form> 

的JavaScript

<script type="text/javascript"> 

function vote(){ 


if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 


    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 

    } 


xmlhttp.open("GET","../php/votes.php",true); 
xmlhttp.send(null); 

} 

</script> 

和PHP代码只是一个更新

<?php 
$con = mysql_connect("localhost","mylog","mypass"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db('versus',$con); 

mysql_query("update picture_vs set votes = votes + 1"); 


?> 

有什么想法吗?

+0

第二次发生了什么? – 2011-04-06 16:33:50

+1

嗨!欢迎来到SO!你可以在每行的开头放4个空格来格式化你的代码*(编辑器顶部的'{}'按钮就是这么做的)*;有关更多信息,请参阅http://stackoverflow.com/editing-help ;;我已经为你做了,这次:-) ;;我试着重新添加你删除的'<';随时重新编辑你的问题,如果我搞砸了一些东西! – 2011-04-06 16:34:22

+2

缓存。该请求第二次不起作用,因为浏览器避免了两次加载相同的东西。常见的解决方法是将随机ID附加到URL。 – mario 2011-04-06 16:36:30

回答

3

修改下面一行到...

xmlhttp.open( “GET”, “../php/votes.php?random=” + 的Math.random(),真) ;

这将阻止IE缓存您的请求的URI。