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 CLI实现简单的数据库实时监控调度
Jul 01 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
php防注入及开发安全详细解析
Aug 09 PHP
php对数组排序代码分享
Feb 24 PHP
php中的静态变量的基本用法
Mar 20 PHP
Yii框架form表单用法实例
Dec 04 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
php实现计数器方法小结
Jan 05 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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获取地址栏信息的代码
2008/10/08 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
PHP 第一节 php简介
2012/04/28 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
php计算整个目录大小的方法
2015/06/19 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
TensorFlow高效读取数据的方法示例
2018/02/06 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python程序输出无内容的解决方式
2020/04/09 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
成教自我鉴定
2013/10/27 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
元旦主持词开场白
2015/05/29 职场文书
七年级作文之英语老师
2019/10/28 职场文书
MySQL系列之六 用户与授权
2021/07/02 MySQL
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python