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 和 MySQL 基础教程(四)
Oct 09 PHP
ADODB的数据库封包程序库
Dec 31 PHP
PHP配置文件中最常用四个ini函数
Mar 19 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
最常用的8款PHP调试工具
Jul 06 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
Dec 26 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
CodeIgniter生成静态页的方法
May 17 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
php调用云片网接口发送短信的实现方法
Oct 25 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
laravel 实现划分admin和home 模块分组
Oct 15 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创建word文档的方法(平台无关)
2016/03/29 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
基于jquery实现轮播特效
2016/04/22 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
python构建基础的爬虫教学
2018/12/23 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
python实发邮件实例详解
2019/11/11 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
Django数据统计功能count()的使用
2020/11/30 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
邮政员工辞职信
2014/01/16 职场文书
有趣的广告词
2014/03/18 职场文书
运动会开幕式主持词
2014/03/28 职场文书
爱护草坪标语
2014/06/24 职场文书
2015年商场工作总结
2015/04/27 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技