`
terryfeng
  • 浏览: 504019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery 的Ajax应用(1)--学习篇,内附实例

阅读更多

  下面以前台jQuery,后天C# 的方式,演示了,如何通过Ajax异步方式,传递参数,利用Get或者Post的方法发送,并返回所需的结果,例子注释完整,内容清晰丰富,请看下面代码演示并配合注释,篇幅有点多。

效果:

l6.aspx文件

 

Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="l6.aspx.cs" Inherits="jQuery.Learning.l6" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title></title>

    
<script src="jquery.js" type="text/javascript"></script>

    
<style type="text/css">
        .letters
        
{
            float
: left;
            width
: 260px;
        
}
        .letter
        
{
            margin
: 10px;
        
}
        .letter h3
        
{
            font-weight
: bold;
        
}
        .button
        
{
            width
: 100px;
            text-align
: center;
            padding
: 10px;
            background-color
: #fff;
            border-top
: 3px solid #888;
            border-left
: 3px solid #888;
            border-bottom
: 3px solid #444;
            border-right
: 3px solid #444;
        
}
        .letter ul
        
{
            list-style
: none;
            padding
: 0;
            margin
: 0 1em;
        
}
        #dictionary
        
{
            float
: left;
            width
: 500px;
        
}
        .entry
        
{
            padding
: 1em 0em;
            border-bottom
: 1px #555 solid;
        
}
        .entry .term
        
{
            display
: inline;
            font-weight
: bold;
        
}
        .entry .part
        
{
            padding
: 0 1em;
            display
: inline;
            font-style
: italic;
        
}
        .entry .definition
        
{
            padding
: .5em;
        
}
        .entry .definition .quote
        
{
            margin
: .5em 2em;
            padding
: 0 1em;
            color
: #333;
            border-left
: 2px #aaa solid;
        
}
        .entry .definition .quote .quote-author
        
{
            font-weight
: bold;
            margin-left
: 20em;
        
}
        #loading
        
{
            border
: 1px #000 solid;
            background-color
: #eee;
            padding
: 20px;
            margin
: 100px 0 0 200px;
            position
: absolute;
            display
: none;
        
}
        .highlighted
        
{
            background-color
: #dfd;
            font-style
: italic;
        
}
    
</style>

    
<script type="text/javascript">
        
// 从服务器异步加载htm到页面中的方法
        $(document).ready(function() {
            $(
'#letter-a .button').click(function() {
                
//当单击时候首先隐藏目录div,然后加载htm,之后使用回调函数,以改变透明度的形式显示目录div
                $('#dictionary').hide().load('l6a.htm'function() { //成功回调函数,意思是说,成功了之后会出发的函数,下面应用的都是成功回调
                    $(this).fadeIn();
                });

            });
        });
        
//加载json(javascript对象表示法)
        $(document).ready(function() {
            $(
'#letter-b .button').click(function() {
                
//当点击按钮时候,使用全局函数$.getJSON获得指定文件的脚本对象数组结构,第一个参数是存储对象结构的文件名称,
                //是异步回调方法,其中的data参数是异步加载返回的对象结构
                $.getJSON('l6b.json'function(data) {
                    
//彻底清空div内容
                    $('#dictionary').empty();
                    
//$.each 函数和普通的each函数含义上相同,遍历,但第一个参数是数组,第二个参数是一个回调函数,每次获得一个新的数组元素的时候调用
                    //回调函数的参数分别代表,当前索引和当前项
                    $.each(data, function(entryIndex, entry) {
                        
var html = '<div class="entry">';
                        html 
+= '<h3 class="term">' + entry['term'+ '</h3>';
                        html 
+= '<div class="part">' + entry['part'+ '</div>';
                        html 
+= '<div class="definition">';
                        html 
+= entry['definition'];
                        
//如果当前项目存在quote键则执行
                        if (entry['quote']) {
                            html 
+= '<div class="quote">';
                            
//遍历quote数组
                            $.each(entry['quote'], function(lineIndex, line) {
                                html 
+= '<div class="quote-line">' + line + '</div>';
                            });
                            
//如果存在author键执行
                            if (entry['author']) {
                                html 
+= '<div class="quote-author">' + entry['author'+ '</div>';
                            }
                            html 
+= '</div>';
                        }
                        html 
+= '</div>';
                        html 
+= '</div>';
                        
//向div中追加刚才拼接好的html内容
                        $('#dictionary').append(html);
                    });
                });
            });
        });

        
//动态注入js,并执行他
        $(document).ready(function() {
            $(
'#letter-c .button').click(function() {
                
//全局加载,加载后会拥有全局环境中变量和函数的访问权,加载的js脚本会自动运行,注:加载的文件扩展名不重要,主要是内容
                $.getScript('l6c.js');
            });
        });

        
//动态加载XML文件
        $(document).ready(function() {
            $(
'#letter-d .button').click(function() {
                
//get的功能是简单的通过url复制文本的内容,由于MIME,表示此扩展名为XML文件,所以会获得一个XML dom 树
                $.get('l6d.xml'function(data) {
                    $(
'#dictionary').empty();
                    
//找到所有的entry,遍历每一个entry元素
                    $(data).find('entry').each(function() {
                        
//复制当前entry项
                        var $entry = $(this);
                        
var html = '<div class="entry">';
                        html 
+= '<h3 class="term">' + $entry.attr('term'+ '</h3>'//获得指定属性的所对应的值
                        html += '<div class="part">' + $entry.attr('part'+ '</div>';
                        html 
+= '<div class="definition">'
                        html 
+= $entry.find('definition').text();
                        
var $quote = $entry.find('quote');
                        
if ($quote.length) {
                            html 
+= '<div class="quote">';
                            
//遍历每一个quote元素中的line
                            $quote.find('line').each(function() {
                                html 
+= '<div class="quote-line">' + $(this).text() + '</div>'//获得这个元素的文本
                            });
                            
//如果存在author属性
                            if ($quote.attr('author')) {
                                html 
+= '<div class="quote-author">' + $quote.attr('author'+ '</div>';
                            }
                            html 
+= '</div>';
                        }
                        html 
+= '</div>';
                        html 
+= '</div>';
                        $(
'#dictionary').append($(html));
                    });
                });
            });
        });

        
//Ajax,加载服务器生成的html Get请求
        $(document).ready(function() {
            $(
'#letter-e #get').click(function() {
                
//获得当前页面的QueryString参数term 值为a标签的文本,第三个参数是回调函数,data是返回的值,
                $.get('?', { 'term': $(this).text() }, function(data) {
                    
//将返回值以html方式,加入到div中
                    $('#dictionary').html(data);
                });
                
//防止打开新的链接,不需返回false
                return false;
            });
        });

        
//Ajax,加载服务器生成的html Post请求,注释看get
        $(document).ready(function() {
            $(
'#letter-e #post').click(function() {
                $.post(
'?', { 'term': $(this).text() }, function(data) {
                    $(
'#dictionary').html(data);
                });
                
return false;
            });
        });

        
//Load加载简化了操作,效果与上面一样,Load会默认以Post请求方法提交
        $(document).ready(function() {
            $(
'#letter-e #load').click(function() {
                $(
'#dictionary').load('?<
分享到:
评论

相关推荐

    Jquery Ajax分页(有实例)

    本篇文章将深入探讨jQuery AJAX分页的原理与实践,通过具体的实例来展示如何实现炫酷的分页功能。 首先,理解jQuery AJAX的核心概念。AJAX允许我们在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。...

    asp+jquery ajax实例源码,添加,删除,修改,分页

    综上所述,这个"asp+jquery ajax实例源码"展示了如何利用ASP作为服务器端语言处理数据,结合jQuery的AJAX功能,实现无刷新的交互体验,优化用户在添加、删除、修改和分页操作中的浏览感受。通过学习和理解这个实例,...

    jQuery-Ajax实例应用

    jQuery-Ajax实例应用 介绍jquery-ajax中几种主要方法的应用

    jquery-ajax-app-src

    通过这些实例,我们可以学习到如何使用jQuery与Ajax来提升Web应用的交互性和用户体验。不论是简单的数据验证,还是复杂的业务逻辑处理,Ajax都能让页面操作变得更加流畅,而jQuery则提供了优雅的API,使得实现这些...

    jquery-ajax实例

    总结一下,这个"jQuery-AJAX实例"涵盖了以下几个关键知识点: 1. jQuery的$.ajax()方法,用于发起Ajax请求。 2. JSON数据格式的使用,包括Java Bean到JSON的转化。 3. jQuery如何解析服务器返回的JSON数据,并更新...

    spring框架项目+jQueryAjax提交实例。jquery-3.3.1.min.js

    标题中的"spring框架项目+jQueryAjax提交实例"指的是一个整合了Spring框架和jQuery AJAX技术的Web应用程序项目。这个项目提供了一个完整的流程,演示了如何在前端使用jQuery的AJAX功能向后端Spring MVC控制器发送...

    jQuery Ajax 实例 全解析

    jQuery Ajax 实例 全解析; jQuery Ajax 实例 全解析;

    jQuery各种实例--权威指南-源代码

    《jQuery各种实例--权威指南-源代码》是一个深入学习jQuery的资源集合,包含了丰富的实践案例和源代码。jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax交互等任务。这个...

    JqueryAjax简单实例

    在这个"JqueryAjax简单实例"中,我们主要关注如何在Visual Studio 2005 C#环境下利用jQuery实现AJAX的功能。首先,我们需要确保项目中已经引入了jQuery库。这通常通过在HTML头部添加jQuery库的CDN链接或者将jQuery....

    JS使用AjAX实例,JQUERY使用AJAX实例

    **JS使用AJAX实例** AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在JavaScript中,我们通常使用`XMLHttpRequest`对象或者jQuery库来实现AJAX请求。 1...

    vue基本环境+jquery ajax应用

    在Vue项目中,你可以通过全局安装jQuery,然后在Vue组件内使用`this.$ajax`(需要在Vue原型链上挂载jQuery)或者在Vue实例的`beforeCreate`或`created`钩子中初始化jQuery并进行AJAX请求。 下面是一个使用jQuery ...

    ajax-jquery-demo

    **jQuery Ajax实例** 在`ajax-jquery-demos`压缩包中,可能包含了一系列的示例,这些示例展示了如何使用jQuery进行Ajax操作。例如,一个简单的Ajax请求可能如下所示: ```javascript $.ajax({ url: 'example.php'...

    jquery的实例--jquerydemo

    "jquery的实例--jquerydemo"这个资源显然提供了一系列的jQuery实践案例,非常适合初学者用来学习和理解jQuery的基本用法和常见功能。下面我们将深入探讨其中提到的一些关键知识点。 1. **表格隔行变色**:这是...

    JQueryAjax在asp.net中的应用实例

    **jQuery AJAX 在 ASP.NET 中的应用实例** 在网页开发中,jQuery AJAX 提供了一种高效、简洁的方法来实现页面的异步交互,而无需刷新整个页面。在 ASP.NET 环境下,结合 jQuery,我们可以创建出更加动态和交互性强...

    jquery 精品教程 -- Learning JQuery

    - **ISBN**:978-1-847192-50-9 - **官方网站**:[www.packtpub.com](http://www.packtpub.com) #### 六、内容概览 - **第一章:入门篇** - jQuery简介 - 安装与配置 - 基础语法和选择器 - **第二章:核心功能*...

    jqueryAjax_无刷新调用另一页实例

    "jqueryAjax_无刷新调用另一页实例"这个标题意味着我们将探讨如何利用jQuery的AJAX功能实现页面的动态加载。 首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及AJAX交互。...

    Asp.Net MVC之jQuery与AJAX操作实例

    本实例将深入探讨如何在Asp.Net MVC项目中应用jQuery与AJAX。 一、jQuery简介 jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画设计以及Ajax交互。在Asp.Net MVC项目中,jQuery可以帮助开发者更...

    C#.net下jquery ajax实例及教程

    总的来说,这个C#.NET下的jQuery AJAX实例和教程将涵盖这些主题,并提供实际的代码示例和可运行的源码,帮助开发者更好地理解和应用AJAX技术。通过学习,你将能够构建出高效、用户友好的Web应用。文档`Jquery.doc`...

    使用jQuery ajax提交表单代码

    1. **jQuery的$.ajax()函数** - **基本语法**:`$.ajax({ options });` - **选项参数**:包括URL(服务器端接口地址)、type(HTTP请求类型,如GET或POST)、data(要发送的数据,通常为JSON格式)、dataType...

    jQuery AJAX应用实例总结

    本文实例总结了jQuery AJAX应用。分享给大家供大家参考,具体如下: AJAX 是指一种创建交互式网页应用的网页开发技术。 AJAX=异步JavaScript和XML(标准通用标记语言的子集)。 AJAX是一种用于创建快速动态网页的...

Global site tag (gtag.js) - Google Analytics