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中操作MySQL数据库的一些要注意的问题
Oct 09 PHP
NT IIS下用ODBC连接数据库
Oct 09 PHP
PHP的单引号和双引号 字符串效率
May 27 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
win7安装php框架Yii的方法
Jan 25 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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+oracle 分页类
2006/10/09 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python中super关键字用法实例分析
2015/05/28 Python
RC4文件加密的python实现方法
2015/06/30 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
委托公证书
2014/04/08 职场文书
个人查摆剖析材料
2014/10/16 职场文书
天那边观后感
2015/06/09 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
Python闭包的定义和使用方法
2022/04/11 Python