使用Ajax和PHP进行数据输出
Data output using Ajax with PHP
为了便于参考,我将这个问题分成几个段落。
-
我有一个脚本调用php文件使用Ajax;
-
这个PHP文件包含了一个简单的代码,用1加一个数字。
<?php $response = $response + 1; echo $response; ?>
-
然而,当按钮被多次按下时,有些东西出错了。我做了一些研究,我可以得出结论,要么是我所做的简单的PHP脚本有问题,要么是每次页面加载只执行一次代码。
-
我读了一篇文章,解释了很多使用Javascript的工作,如果我想要一个Ajax命令在同一脚本期间多次执行,但我不明白为什么当按钮被按下时它不能执行多次。
问题:PHP文件"post.php"是否每次按下按钮时都执行?是我的PHP文件有问题吗?我如何使脚本加上数字1每次按下按钮?这是因为我需要一些额外的Javascript吗?
脚本的其余部分在这里:
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","post.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<p>This button will execute an Ajax function</p>
<button type="button" onclick="loadXMLDoc()">Press here!</button>
<div id="myDiv"></div>
<script type="text/javascript" src="http://www.parameter.dk/counter/5b0d9873158158e08cad4c71256eb27c"></script>
</body>
如果我在某些地方不够清楚,请挑出段落号,我将加深这部分。
在你的代码中$response总是1,因为php默认没有状态。你可以通过在会话中保存响应来修复它。
session_start();
if (isset($_SESSION['response'])) {
$_SESSION['response'] = $_SESSION['response'] + 1;
} else {
$_SESSION['response'] = 1;
}
echo $_SESSION['response'];
相关文章:
- 以不同的顺序输出数据
- 如何为d3.js图表输出组织/嵌套数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 如何将JSON数据转换为变量,解析并输出为HTML
- 如何在Javascript中输出提示数据
- Highcharts将数据输出到HTML表
- 在javascript中测量websockets数据输入/输出的大小
- JS函数只返回未定义的数据,但alert输出正确的数据
- 如何在客户端输出数据?(express+monodb+jade)
- 如何将数据输出到 CasperJS 中的文件
- 使用 JS 将 XML 数据输出到 HTML
- 将“加载更多”添加到从Google电子表格中通过$.getJSON接收的数据输出中
- 将 php 数据输出到 jquery 数组中
- 我可以使用这种消毒液安全地将数据输出给用户吗
- 在我的visual studio应用程序页面中显示正在运行的控制台程序数据输出
- 使用php格式化数据输出
- 根据下拉改变数据输出
- 使用Ajax和PHP进行数据输出
- 数据输出在javascript中是重复的.如何修复
- 使用jQuery/PHP将数据输出到浏览器的多部分表单.如何显示输入数据