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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
php 设计模式之 工厂模式
Dec 19 PHP
php学习之 数组声明
Jun 09 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
Feb 14 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
虫族 ZERG 概述
2020/03/14 星际争霸
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
jQuery实现的简洁下拉菜单导航效果代码
2015/08/26 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
vue实现扫码功能
2020/01/17 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
python实现抽奖小程序
2020/04/15 Python
python实现桌面托盘气泡提示
2019/07/29 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
经典c++面试题五
2014/12/17 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
《金色的脚印》教后反思
2014/04/23 职场文书
抽样调查项目计划书
2014/04/24 职场文书
还款承诺书范文
2014/05/20 职场文书
2014年冬季防火方案
2014/05/21 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers