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 相关文章推荐
快速配置PHPMyAdmin方法
Jun 05 PHP
小文件php+SQLite存储方案
Sep 04 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
PHP代码优化技巧小结
Sep 29 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
微信JSSDK分享功能图文实例详解
Apr 08 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
建立动态的WML站点(三)
2006/10/09 PHP
php socket实现的聊天室代码分享
2014/08/16 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
新品发布会主持词
2014/04/02 职场文书
会员卡清退活动总结
2014/08/27 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
筑梦中国心得体会
2016/01/18 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android