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数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP实现的简单路由和类自动加载功能
Mar 13 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
PHP封装cURL工具类与应用示例
Jul 01 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
深入密码加salt原理的分析
2013/06/06 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
int在python中的含义以及用法
2019/06/27 Python
python库matplotlib绘制坐标图
2019/10/18 Python
关于windows下Tensorflow和pytorch安装教程
2020/02/04 Python
Python2与Python3的区别详解
2020/02/09 Python
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
中学教师岗位职责
2013/11/26 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
会计专业自我评价
2014/02/12 职场文书
软件售后服务方案
2014/05/29 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
python如何做代码性能分析
2021/04/26 Python
MySQL图形化管理工具Navicat安装步骤
2021/12/04 MySQL
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL