我有一些代码可以通过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中工作,它只是给出一个空白的弹出窗口..
答案 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=');
}
如果其他人有同样的问题:)