2009-09-24 73 views
1

我有一點它提醒從IE中的PHP代碼$響應代碼的工作,但由於某種原因它不能在FF工作..Ajax響應不FF

下面的代碼:

function contactfunction() { 
    var url = "scripts/php/cbb.php?pname="; 
    xmlHttp.open("GET", url, true); 
    xmlHttp.onreadystatechange = updatecontact1; 
    xmlHttp.send(null); 
} 

function updatecontact1() { 
    if (xmlHttp.readyState == 4) { 
    var response = xmlHttp.responseText; 
    alert(response); 
    } 
} 

而這裏的PHP文件(cbb.php)

<?php 
$fp=fopen("ip.txt","a+"); 
fwrite($fp, "cib\r\n"); 
fclose($fp); 
$response = "something"; 
return $response; 
?> 

誰能幫助我在這裏?我不知道如何讓它在FF中工作,它只是給出一個空白的彈出窗口..它只是給出了一個空白的彈出窗口..

回答

3

幫你一個忙,並使用許多AJAX能力的JavaScript庫之一,如jQuery,這釋放用戶從黑客代碼,以便處理瀏覽器差異(在大多數情況下,至少):

//using jQuery's $.get method 
function update(name) { 
    $.get('cbb.php?name=' + name, function(response) { 
     alert(response); 
     $('#someDiv').html(response); 
    }); 
} 

或:

//using jQuery's $.load method 
function update(name) { 
    //directly inject div id="someDiv" with output of url 
    $('#someDiv').load('cbb.php?name=' + name); 
} 

將其組合在一起:

//when the DOM is ready 
$(document).ready(function() { 

    //bind to click event of all anchors with class="contact" 
    $('a.contact').click(function(e) { 

     //stop the link from being followed 
     e.preventDefault(); 

     //get the name from the link text 
     var name = $(this).text(); 
     update(name); 
    }); 

}); 

<a href="no-script.php" class="contact">Timmy</a> 
<a href="no-script.php" class="contact">McLovin</a> 

<div id="someDiv">This is where the output will be injected</div> 

請參閱http://docs.jquery.com/Ajax瞭解更多信息。

+0

葉,我知道,我認爲jQuery是容易的,但被告知必須ajax .. *嘆了口氣*我設法解決它,但謝謝你,將使用這個,如果我必須再次做到這一點:) – SoulieBaby 2009-09-24 01:17:04

+0

ajax是內置的jQuery功能。這是.load()命令的作用。 – helloandre 2009-09-24 01:19:19

0

我設法得到的代碼使用的工作:

function getFile(fileToOpen) { 
    var xmlhttp; 
    if (window.XMLHttpRequest) { 
     // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
     // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } else { 
     alert("Your browser does not support XMLHTTP!"); 
    } 
    xmlhttp.open("GET",fileToOpen,false); 
    xmlhttp.send(null); 
    alert(xmlhttp.responseText); 
} 

function contactfunction() { 
    getFile('scripts/php/cbb.php?pname='); 
} 

如果其他人有同樣的問題:)