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
php array_unique之后json_encode需要注意
Jan 02 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
php将html转为图片的实现方法
May 19 PHP
详解PHP发送邮件知识点
May 06 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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中extract()函数的妙用分析
2012/07/11 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
浅析js封装和作用域
2013/07/09 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
python numpy中cumsum的用法详解
2019/10/17 Python
在keras里实现自定义上采样层
2020/06/28 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
linux面试题参考答案(11)
2012/05/01 面试题
教师简历自我评价
2014/02/03 职场文书
公务员政审材料
2014/12/23 职场文书
二审答辩状格式
2015/05/22 职场文书
小王子读书笔记
2015/06/29 职场文书
Python类方法总结讲解
2021/07/26 Python
Java设计模式之代理模式
2022/04/22 Java/Android