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 Memcache 中实现消息队列
Nov 24 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
LotusPhp笔记之:Logger组件的使用方法
May 06 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 PHP
解析php类的注册与自动加载
Jul 05 PHP
部署PHP项目应该注意的几点事项分享
Dec 20 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
Mar 21 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
May 12 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 header示例代码(推荐)
2010/09/08 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
购房意向书范本
2014/04/01 职场文书
初中教师业务学习材料
2014/05/12 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
升职自荐信怎么写
2015/03/05 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
薪资证明范本
2015/06/19 职场文书
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL