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函数,php爱好者站推荐
Mar 19 PHP
dedecms模版制作使用方法
Apr 03 PHP
php下通过POST还是GET来传值
Jun 05 PHP
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
php权重计算方法代码分享
Jan 09 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
PHP连接MYSQL数据库实例代码
Jan 20 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
php微信开发之关注事件
Jun 14 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
TP5框架页面跳转样式操作示例
Apr 05 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 PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
List Installed Hot Fixes
2007/06/12 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
javascript定时器完整实例
2015/02/10 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
2017/08/24 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
python求解水仙花数的方法
2015/05/11 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
numpy.random模块用法总结
2019/05/27 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
python每天定时运行某程序代码
2019/08/16 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
学生安全责任书
2014/04/15 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
就业意向书范本
2015/05/11 职场文书
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python