`

模拟ajax无刷新提交的4种方法

    博客分类:
  • ajax
阅读更多

在web开发领域,自从有了ajax技术,使得数据的异步提交变得非常方便快捷;那么在没有ajax技术之前,我们该怎样实现ajax的无刷新效果呢。

本文主要以"人物投票"的功能为例,来讲述如何轻松的模拟出无刷新效果。

首先我们需要创建这么几个文件:

  • index.html,负责前台的展示(包括人物的照片和一个投票的按钮);
    页面展示
  • tp.php,负责接收数据,处理数据;
  • count.txt,负责存放数据(票数)的空文本,在实际开发中大家可以将数据存放在数据库中,前台需要的时候可以从数据库中提取。

实现的方法:

  • 第一种使用204状态码的特性,实现只提交但"不做任何反应的效果"。此方法只需要在后台文件中这样设置http头部:"http/1.1 204 No Content",而前台文件几乎不需要做任何特殊处理。
    index.html:
    <p><img src="./1.jpg" style="width: 200px;height: 300px;"></p>
    <p><a href="tp.php"><button>投票</button></a></p>
     tp.php:
    $count=file_get_contents("./count.txt");
    $count+=1;
    file_put_contents("./count.txt",$count);
    header('http/1.1 204 No Content');
     当我们点击一次投票按钮时count.txt文件内显示"1",而页面并没有刷新:
    count.text:
    第一次点击httpHeader
  • 第二种:在前台页面中嵌入一个隐藏的iframe,后台文件只需要处理数据就行了,这种比较简单相信大家都懂。
    index.html:
    <p><img src="./1.jpg" style="width: 200px;height: 300px;"></p>
    <p><a href="tp.php" target="count_data"><button>投票</button></a></p>
    <iframe name="count_data" style="display: none;"></iframe>
     tp.php:
    $count=file_get_contents("./count.txt");
    $count+=1;
    file_put_contents("./count.txt",$count);
      当我们再一次点击一次投票按钮时count.txt文件内显示"2",而页面并没有刷新:
    count.txt:
    第二次投票
  • 第三种:利用img的src来向后台发送请求。相信大家都知道,当我们向后台请求一张图片的时候(<img src="imgURL"/>),页面并不需要刷新,但是我们需要的图片却顺利的得到了。此处将利用这一特性,将img的src属性值设置为一个php文件来实现请求发送成功但不刷新页面的效果。
    index.html:
    <p><img src="./1.jpg" style="width: 200px;height: 300px;"></p>
    <p><button id="sub" onclick="tj()">投票</button></p>
    <script>
    	function tj(){
    		var img=document.createElement('img');
    		img.setAttribute('src','tp.php');//向tp.php发送请求
    	}
    </script>
     tp.php:
    $count=file_get_contents("./count.txt");
    $count+=1;
    file_put_contents("./count.txt",$count);
      当我们再一次点击一次投票按钮时count.txt文件内显示"3",而页面并没有刷新:
    第三次投票
  • 第四种:利用css(link),javascript等元素的src属性,所利用的原理和第三种方法大致相同,此处就不再多加赘述,大家自行测试。

 

  • 大小: 19.5 KB
  • 大小: 11.6 KB
  • 大小: 11.1 KB
  • 大小: 11.2 KB
  • 大小: 16.8 KB
1
0
分享到:
评论

相关推荐

    JSP_模拟AJAX实现无刷新文件上传

    然而,我们可以利用IFRAME(Inline Frame)来模拟实现AJAX式的无刷新文件上传,以达到类似的效果。 首先,我们需要理解AJAX的工作原理。AJAX允许我们在后台与服务器进行通信,更新部分网页内容,而无需刷新整个页面...

    AJAX-.net 无刷新提交数据

    本篇文章将深入探讨AJAX在.NET中的应用以及如何实现无刷新提交数据。 首先,我们需要了解AJAX的基本工作原理。它主要依赖于JavaScript的XMLHttpRequest对象来创建一个与服务器的连接,并在后台发送请求。当服务器...

    C# ajax 无刷新

    ### C#与Ajax实现网页无刷新技术详解 #### 一、引言 在现代Web开发中,用户体验成为了评价一个网站好坏的重要标准之一。传统的Web页面每次提交数据或请求新数据时都需要重新加载整个页面,这不仅降低了用户体验,还...

    asp+ajax无刷新文件上传带进度条

    在结合AJAX(Asynchronous JavaScript and XML)技术时,可以实现无刷新的页面更新,提高用户体验。AJAX允许在不重新加载整个网页的情况下,与服务器交换数据并局部更新页面。 在"asp+ajax无刷新文件上传带进度条...

    使用隐藏的Iframe实现ajax无刷新上传

    使用隐藏的Iframe实现Ajax无刷新上传的基本思路是:创建一个隐藏的Iframe作为文件上传的目标,当用户选择文件并提交表单后,表单数据会通过POST方式发送到服务器端处理文件上传操作。由于Iframe的存在,上传过程不会...

    使用jQuery ajax提交表单代码

    总的来说,使用jQuery的ajax方法提交表单是一种高效且灵活的方式,能够无缝集成到现有的jQuery应用中。通过理解以上知识点,开发者可以创建更动态、响应更快的Web应用。在提供的压缩包文件“jqueryform”中,你应该...

    ajax无刷新的增加数据和查找数据

    在.NET中,可以使用UpdatePanel控件模拟Ajax请求。UpdatePanel是一个容器控件,它内部的所有控件在异步更新过程中都不会导致整个页面的刷新。当用户触发一个操作(如点击按钮)时,UpdatePanel会发送Ajax请求到...

    jQuery实现form表单基于ajax无刷新提交方法详解

    jQuery 实现 form 表单基于 AJAX 无刷新提交是一种常见的前端技术,它允许用户在不刷新整个页面的情况下发送数据到服务器并接收响应。这提高了用户体验,因为页面的其他部分可以保持活动状态,而不会打断用户的操作...

    ajax模拟 登陆及判断用户名

    本话题主要关注如何使用Ajax实现无刷新的模拟登录功能,并针对用户名进行有效性判断,以及显示相应的提示消息。这一过程涉及到前端JavaScript的处理、后端.Net服务器的交互以及Ajax通信的原理。 Ajax的核心在于其...

    PHP实例开发源码—Google Wave History Ajax无刷新评论带头像.zip

    【标题】"PHP实例开发源码—Google Wave History Ajax无刷新评论带头像.zip"是一个包含PHP编程示例的压缩包,旨在演示如何实现基于Ajax的无刷新评论系统,同时结合头像显示,模拟Google Wave的历史浏览体验。...

    艾恩Ajax无刷新文件上传(带进度条,无组件)

    【艾恩Ajax无刷新文件上传(带进度条,无组件)】是一种先进的Web开发技术,它结合了Ajax(异步JavaScript和XML)和HTML5的新特性,实现了在不刷新整个页面的情况下进行文件上传,并且提供了实时的进度条反馈,极大地...

    Jquery+Ajax+Php+Mysql异步刷新

    在现代Web开发中,异步刷新技术是一种常见且至关重要的功能,它允许用户在不刷新整个页面的情况下更新特定部分的数据。这种技术的核心是JavaScript库jQuery、Ajax(Asynchronous JavaScript and XML)以及后端服务器...

    AJAX股票模拟源代码

    AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。在本项目中,"AJAX股票模拟源代码"是一个用于教学和实践的示例,旨在帮助开发者深入理解如何利用AJAX技术...

    js动态创建上传表单通过iframe模拟Ajax实现无刷新

    动态创建上传表单并通过iframe模拟Ajax实现无刷新上传是一项前端技术,主要用于在用户界面上无需重新加载整个页面的情况下,向服务器提交文件等数据。这种方法的优点在于提高了用户体验,避免了页面刷新带来的延时和...

    基于jsp+servlet+Ajax异步登陆模拟web项目

    【基于jsp+servlet+Ajax异步登陆模拟web项目】是一个典型的Web开发实例,它整合了三种核心技术:JavaServer Pages(JSP)、Servlet以及Asynchronous JavaScript and XML(Ajax)。这个项目的核心目的是实现用户登录...

    无刷新留言板无刷新留言板

    无刷新留言板是一种基于Web技术实现的交互式应用,它允许用户在不重新加载整个网页的情况下进行留言和查看他人留言,提供了更加流畅的用户体验。在本文中,我们将深入探讨使用C#语言开发无刷新留言板的核心技术和...

    servlet+ajax模拟百度搜索(含jar包)

    2. Ajax(Asynchronous JavaScript and XML):Ajax是一种在无需刷新整个页面的情况下更新部分网页的技术。它通过JavaScript与服务器进行异步通信,实现了页面的动态更新。在模拟百度搜索的场景中,当用户在搜索框...

    自定义Ajax框架,struts框架的模拟,特效代码

    在这样的系统中,Ajax常用于实现无刷新的帖子加载、回复提交等功能,而Struts框架则负责处理后端逻辑,如用户认证、帖子管理等。 总结来说,这个项目涵盖了Web开发的多个重要方面:自定义Ajax框架的构建展示了对...

    AJAX技术Ajax.7z

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这种技术的出现极大地提升了用户体验,因为它允许网页在后台与服务器进行数据交换,用户无需等待页面刷新...

Global site tag (gtag.js) - Google Analytics