AJAX响应在FF中不起作用

时间:2009-09-24 00:57:32

标签: ajax firefox

我有一些代码可以通过IE中的php代码提醒$响应,但由于某些原因它在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中工作,它只是给出一个空白的弹出窗口..

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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=');
}

如果其他人有同样的问题:)