PHP 和 AJAX 投票
在这个 AJAX 实例中,我们将演示一个投票程序,网页在不重新加载的情况下,就可以获得结果。
到目前为止,您喜欢 PHP 和 AJXA 吗? Yes:
No:
本例包括四个元素:
HTML 表单 JavaScript PHP 页面 存放结果的文本文件HTML 表单
这是 HTML 页面。它包含一个简单的 HTML 表单,以及一个与 JavaScript 文件的连接:
例子解释 - HTML 表单Do you like PHP and AJAX so far?
正如您看到的,上面的 HTML 页面包含一个简单的 HTML 表单,其中的
表单这样工作:
当用户选择 "yes" 或 "no" 时,会触发一个事件 当事件触发时,执行 getVote() 函数 围绕该表单的是名为 "poll" 的文本文件
文本文件 (poll_result.txt) 中存储来自投票程序的数据。
它类似这样:
0||0
第一个数字表示 "Yes" 投票,第二个数字表示 "No" 投票。
注释:记得只允许您的 web 服务器来编辑该文本文件。不要让其他人获得访问权,除了 web 服务器 (PHP)。
JavaScript
JavaScript 代码存储在 "poll.js" 中,并于 HTML 文档相连接:
var xmlHttpfunction getVote(int){xmlHttp=GetXmlHttpObject()if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="poll_vote.php"url=url+"?vote="+inturl=url+"&sid="+Math.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)} function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("poll"). innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject(){ var objXMLHttp=nullif (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() }else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") }return objXMLHttp}例子解释:
stateChanged() 和 GetXmlHttpObject 函数与 PHP 和 AJAX 请求 这一节中的例子相同。
getVote() 函数当用户在 HTML 表单中选择 "yes" 或 "no" 时,该函数就会执行。
定义发送到服务器的 url (文件名) 向 url 添加参数 (vote),参数中带有输入字段的内容 添加一个随机数,以防止服务器使用缓存的文件 调用 GetXmlHttpObject 函数来创建 XMLHTTP 对象,并告知该对象当触发一个变化时执行 stateChanged 函数 用给定的 url 来打开 XMLHTTP 对象 向服务器发送 HTTP 请求PHP 页面
由 JavaScript 代码调用的服务器页面是名为 "poll_vote.php" 的一个简单的 PHP 文件。
Result:
Yes: | % |
No: | % |
所选的值从 JavaScript 传来,然后会发生:
获取 "poll_result.txt" 文件的内容 把文件内容放入变量,并向被选变量累加 1 把结果写入 "poll_result.txt" 文件 输出图形化的投票结果声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论