2011-04-06 98 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。