使用ajax实现无刷新改变页面内容

如何使用ajax实现无刷新改变页面内容(也就是ajax异步请求刷新页面),下面通过一个小demo说明一下,前端页面代码如下所示

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="p_tg.aspx.cs" Inherits="p_tg" %>
 2
 3 <!DOCTYPE html>
 4
 5 <html>
 6 <head>
 7
 8     <meta charset="UTF-8">
 9
10     <script src="/js/jquery-1.7.2.min.js"></script>
11
12 </head>
13 <body>
14 <form runat="server"><!-- onsubmit="return JoinAjax()"-->
15    <asp:Literal runat="server" ID="lt_zhekou" Visible="false"></asp:Literal>
16
17     <!--蒙层-->
18
19     <div runat="server" class="mc_01" id="divOne_1" style="display:none;"><!--蒙层1-->
20        <div class="mc_a"><img src="images/mc_01.png"></div>
21        <div class="c_but_02"><a href="#" onclick="return click_a(‘divOne_1‘)">关闭</a></div>
22        <div class="c_bot02"><img src="images/mc_02.png"></div>
23     </div>
24     <div  runat="server" class="mc_01" id="div1" style="display:none;"><!--蒙层2-->
25        <div class="mc_a"><img src="images/mc_03.png"></div>
26        <div class="c_but_02"><a href="#" onclick="return click_a(‘div1‘)">关闭</a></div>
27        <div class="c_bot02"><img src="images/mc_02.png"></div>
28     </div>
29     <!--主页-->
30
31
32    </form>
33
34 </body>
35 </html>

说明:这个页面需要实现的功能是,后台通过sql查询数据库,根据返回结果,前端用ajax访问后台方法返回值,弹出蒙层1,或者蒙层2。(如果不用ajax方式,改变页面内容时是有刷新的)

 1     <script type="text/javascript">
 2
 3         $(function () {
 4             $("#btnJoin").click(function () {
 5                 var bbid = $("#bbid").val();
 6                 var ppid = $("#ppid").val();
 7                 var openid = $("#openid").val();
 8
 9                 var nick = $("#nick").val();
10                 var sex = $("#sex").val();
11                 var pic = $("#pic").val(); //有数据的
12
13                 $.ajax({
14                     type: "get",
15                     url: "p_tg_ajax.aspx",
16                     data: { "bbid": bbid, "ppid": ppid, "openid": openid, "nick": nick, "sex": sex, "pic": pic },
17                     success: function (res) {
18                         //alert(res);
19                         if (res == 0) {
20
21                             $("#div1").css("display", "none");
22                             $("#divOne_1").css("display", "block"); //蒙层1
23                         }
24                         else if (res == 1) {
25                             $("#div1").css("display", "block"); //蒙层2
26                             $("#divOne_1").css("display", "none");
27
28                         } else {
29                             alert(res);
30                         }
31                     },
32                     error: function (xhr) {
33                         alert("异常");
34                     }
35                 })
36             })
37         });
38
39 </script>

页面上添加隐藏域传值

<input type="hidden" id="openid" value="<%=openid %>" />
<input type="hidden" id="bbid" value="<%=bbid %>" />
<input type="hidden" id="ppid" value="<%=ppid %>" />
<input type="hidden" id="nick" value="<%=nick %>" />
<input type="hidden" id="sex" value="<%=sex %>" />
<input type="hidden" id="pic" value="<%=pic %>" />

ajax方法的属性说明

type是提交方式,有两种post和get,我用的是get传值,这种方式传值bbid = Request.QueryString["bbid"];后台使用QueryString取值,注意用post传值QueryString是取不到值的!!!

url是String类型的参数,(默认为当前页地址)发送请求的地址。

date是Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。对象必须为key/value格式,例如{"a": 111, "b":222, "c": 333}转换为&a=111&b=222。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

success请求成功后回调函数。

时间: 2024-12-06 04:09:03

使用ajax实现无刷新改变页面内容的相关文章

使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta name="keywords" content="周记[学校晚会篇]" /><meta name="description

使用ajax和history.pushState无刷新改变页面URL

表现 如果你使用chrome或者firefox等浏览器访问本博客.github.com.plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器前进和后退. 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的. 与传统的AJAX的区别 传统的ajax有如下的问题: 1.可以无刷新

window.history.pushState与ajax实现无刷新更新页面url

ajax能无刷新更新数据,但是不能更新url HTML5的新API: window.history.pushState, window.history.replaceState 用户操作history,点击前进后退按钮会触发popstate事件. 这些方法可以协同window.onpopstate事件一起工作. 改变url的demo 本页是foo.html,url改变成bar.html,内容却不变 <!DOCTYPE html> <html> <head> <me

无刷新更新页面内容

方法一:隐藏域技术 方法二:ajax技术(新,nice!) PS:相对地,有刷新页面版本,即是在action中调用php或asp服务器端的脚本语言

使用Jquery的Ajax实现无刷新更新,修改,删除页面

原文:使用Jquery的Ajax实现无刷新更新,修改,删除页面 本文将向大家讲述一下最近工作的一些总结,主要包括了以下内容,注册界面以及详细信息界面的编辑.主要是介绍了AJAX技术,因为我觉得其他方面没什么好介绍的.首先是跟大家说一下Ajax的优点,假如你删除了一个页面的内容,你想当于点击了一个按钮,那么这个页面必然发生了回发事件,也就是说,你的页面必然被刷新了一次.以下是我从网上找来的一张Ajax的原理图,本人PS技术太差了,所以索性从网上找算了. 其实我个人对于Ajax技术的理解并没有上面图

Ajax实现无刷新分页

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解. 本文讲解 Ajax 实现无刷新分页.实现原理.代码展示.代码下载. 这里需要说明一些知识: 1.Ajax 无刷新页面的好处:提供良好的客户体验,通过 Ajax 在后台从数据库中取得数据并展示,取缔了等待加载页面而出现的空白状态: 2.那么,Ajax 无刷新页面是运行在动态页面(.PHP)?还是静态页面(.html/.htm/.shtml)?答案是:静态页面: 3.实现原理

jsp+ajax实现无刷新

jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page contentType=text/html; charset=GBK % html style type=text/css !-- @import url(../aqgc/style_c.css); --jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面)

jsp+ajax实现无刷新鼠标离开文本框即验证用户名

欢迎大牛提意见 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名,操作如下:新建一个输入页面,起名为input.jsp, [java] <%@ page contentType="text/html; charset=utf-8"%> <html> <head> <title>jsp+ajax实现无刷新_鼠标离开文本框即验证用户名</title> <meta http-equiv="Content-Typ

ajax实现无刷新获取数据javascript+jsp+serverlet

jsp页面通过ajax获取后台serverlet传来的数据 serverlet页面代码 package com.shxt.lesson16homework.Servlets; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Resu