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生成文件
Jan 15 PHP
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
php中防止伪造跨站请求的小招式
Sep 02 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
PHP设计模式之工厂模式与单例模式
Sep 28 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 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
PHP源代码数组统计count分析
2011/08/02 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
webpack优化的深入理解
2018/12/10 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
python使用selenium实现批量文件下载
2019/03/11 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python如何操作docker redis过程解析
2020/08/10 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
酷瑞网络科技面试题
2012/03/30 面试题
linux面试题参考答案(3)
2012/09/13 面试题
几个常见的软件测试问题
2016/09/07 面试题
经济与贸易专业应届生求职信
2013/11/19 职场文书
节水口号标语
2014/06/19 职场文书
建筑施工安全责任书
2014/07/24 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
win10搭建配置ftp服务器的方法
2022/08/05 Servers