php的无刷新操作实现方法分析


Posted in PHP onFebruary 28, 2020

本文实例讲述了php的无刷新操作实现方法。分享给大家供大家参考,具体如下:

方法一:

我们通过http的204状态码,页面不跳转。

1.html代码如下:

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <a href="./add.php" rel="external nofollow" >投票</a>
</body>
</html>

add.php代码如下:

<?php
$num = file_get_contents('./num.txt');
$num = intval($num) + 1;
file_put_contents('./num.txt', $num);

header('HTTP/1.1 204 No Content');

方法二:

利用图片加载的特性,来完成请求。

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <input type="button" value="投票" id="addBtn" />
  <div id="request"></div>
</body>
<script type="">
  var addBtn = document.getElementById("addBtn");
  addBtn.onclick = function() {
    //创建img标签
    var img = document.createElement("img");

    //设置标签src属性
    img.setAttribute("src", "add.php");
    document.createElement("request").appendChild(img);
  };
</script>
</html>

方法三:

利用css,javascript的加载特性,完成请求,原理与img加载一样。

方法四:

利用iframe的特性

2.html代码如下:

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  <form action="ret.php" method="post" target="request">
    用户名:<input type="text" name="uname" value="" />
    密码:<input type="password" name="upwd" value="" />
    <input type="submit" name="submit" value="提交" />
  </form>
  <iframe width="0" height="0" frameborder="0" name="request"></iframe>
  <div id="result"></div>
</body>
</html>

ret.php代码如下:

<?php
$uname = !empty($_POST['uname']) ? $_POST['uname'] : '';
$upwd = !empty($_POST['upwd']) ? $_POST['upwd'] : '';

if($uname == 'admin' && $upwd == '123456') {
  echo "<script>parent.document.getElementById('result').innerHTML='OK';</script>";
} else {
  echo "<script>parent.document.getElementById('result').innerHTML='NO';</script>";
}

我们通过设置form提交的target到iframe,使表单无跳转。

ajax能实现文件上传吗?

分析,文件上传,是需要客户端把文件内容发送到服务器,也就是XHR对象在POST数据时,把文件内容也发送给服务器。
也就是XHR对象能够获取你要上传的文件内容,但是出于安全的考虑,JS是无法获取本地文件内容的。

ajax插件是如何实现文件上传的?

1、iframe
2、flash实现,如swfupload
3、html5 (添加了文件读取api,使ajax上传文件成为可能。)

更多关于PHP相关内容可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
PHP二维关联数组的遍历方式(实例讲解)
Oct 18 PHP
PHP命名空间用法实例分析
Sep 04 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 PHP
php下的原生ajax请求用法实例分析
Feb 28 #PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 #PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 #PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 #PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 #PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 #PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 #PHP
You might like
xml在joomla表单中的应用详解分享
2012/07/19 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python对文件操作知识汇总
2016/05/15 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
python创建n行m列数组示例
2019/12/02 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
如何书写授权委托书?
2019/06/25 职场文书