这是我的代码:
1 / index.html中
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
function getXMLHttp()
{
var xmlHttp
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("AJAX not supported.")
return false;
}
}
}
return xmlHttp;
}
function MakeRequest()
{
var xmlHttp = getXMLHttp();
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
HandleResponse(xmlHttp.responseText);
}
}
xmlHttp.open("GET", "count.php", true);
xmlHttp.send(null);
}
function HandleResponse(response)
{
document.getElementById('ResponseDiv').innerHTML = response;
}
</script>
<input type='button' onclick='MakeRequest();' value='Button'/>
<br />
<br />
<div id='ResponseDiv'>
Count
</div>
</body>
count.php:
<?php
$fp = false;
// Open file for reading, then writing
while ( ($fp=fopen('clicks.txt','r+'))===false ) {
usleep(250000); // Delay 1/4 second
}
// Obtain lock
while ( !flock($fp, LOCK_EX) ) {
usleep(250000); // Delay 1/4 second
}
// Read Clicks
$clicks = trim(fread($fp,1024));
// Add click
$clicks++;
// Empty file
ftruncate($fp,0);
// Write clicks
fwrite($fp, $clicks);
// Release Lock
flock($fp, LOCK_UN);
// Release handle
fclose($fp);
?>
以下是它的功能:我点击按钮,AJAX函数调用php,增加点击次数,然后将其保存在txt文件中。 HandleResponse函数应该让我向用户显示计数数量。
我检查了txt文件并跟踪了点击次数。但它从未在ResponseDiv中显示出来。我的意思是,当显示点击次数时,不会显示任何内容。 这里有什么问题 ?
答案 0 :(得分:0)
我找到了解决方案。我刚刚添加:{if(xmlHttp.readyState == 4){HandleResponse(xmlHttp.responseText); } else {HandleResponse(xmlHttp.responseText); }