学过javascript和接触过后端PHP语言必然要用到ajax,这是必学的一门学科,AJAX指的是Asynchronous JavaScript and XML,它使用XMLHttpRequest对象来与服务端脚本交流。请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET。GET方式的参数请求直接跟在URL后,以问号开始。

  它可以发送和接收不同格式的信息,包括JSON,XML,HTML,AJAX最吸引人的特点是它的”async(异步)的本质,它意味着它可以做所有这些事情而不需要刷新页面。这使得你 可以基于用户事件只更新页面的一部分。AJAX执行完毕后才会继续运行其他代码页面假死状态解除。 而异步则这个AJAX代码运行中的时候其他代码一样可以运行。 jquery的async:false,这个属性 默认是true:异步,false:同步。

  <html>
    <head>
        <meta charset = utf-8>
        <link rel="stylesheet" type="text/css" href = "bootstrap.css">
        <script type="text/javascript" src="jquery-1.9.1.js"></script>
    </head>
    <body>
        <!--布局-->
        <div class = "container">  <!--容器-->
            <div class = "panel panel-default"> <!--面板-->
                <div class = "panel panel-heading">
                    <h1>1409D学生信息</h1>
                </div>
                <div class="panel panel-body">
                    <div class="form-inline">
                        <div class="form-group">
                            <select class="form-control" id="select">  <!--下垃选项-->
                                <option value="">请选择根据什么查询</option>
                                <option value="name">姓名查询</option>
                                <option value="sex">性别查询</option>
                                <option value="age">年龄查询</option>
                                <option value="tel">电话查询</option>
                                <option value="addr">市场部查询</option>
                            </select>                                                    <!--输入框-->
                            <input type="text" id = "textname" class="form-control" placeholder="请输入查询内容">
                            <button class="btn btn-info" id="find">查询</button>
                            <button class="btn btn-link" id="all">显示所有</button>
                        </div>
                    </div>

<table class="table table-holder">  <!--表格-->
                        <thead>   <!--表头-->
                            <tr>
                                <th>姓名</th>
                                <th>性别</th>
                                <th>年龄</th>
                                <th>电话</th>
                                <th>市场部</th>
                            </tr>
                        </thead>
                        <tbody></tbody>   <!--内容主题-->
                    </table>
                </div>
            </div>
        </div>
    </body>
</html>
<script type="text/javascript">
    $(document).ready(function () {
        show(null,null);    //先默认为空值
        $("#find").click(function () {   //点击查找事件调用方法
            var select = $("#select").val();  //定义变量接收下拉选项
            var textname = $("#textname").val();   //定义变量接收文本框的值
            show(select,textname);
        })

$("#all").click(function () {    //点击all显视全部调用函数
            show(null,null);    //默认显示为空值
            $("#all").val("");   //赋空值
            $("#all option").eq(0).prop("selected",true);  //给all按键为下拉选项第一个值
        })
    })
    function show(select,textname) {  //show函数传参
            $.ajax({
            url:"show.php",   //地址文件路径
            data:{"select":select,"name":textname},  //数据传递参数
            dataType:"json",   //数据类型为json
            success:function (data) {   //成功时传参
                var tr="";   //定义变量
                $.each(data,function (key,value) {   //循环传递的键值
                    tr+="<tr><td>"+value[1]+"</td><td>"+value[2]+"</td><td>"+value[3]+"</td><td>"+value[4]+"</td><td>"+value[5]+"</td></tr>";
                })
                $("tbody").html(tr);  //替换每一行
            },
            error:function () {    //失败时提示失败
                alert('失败')
            }
        })
    }
</script>

剖析ajax的更多相关文章

  1. Django知识总汇

    基础 Django基础 Django基本命令 model系统 ORM基础 ORM字段和参数 ORM对数据库操作 ORM中介模型 ORM之其他骚操作 templates系统 模板语言 views系统 视 ...

  2. zepto.js之ajax剖析

    1.ajax的baseHeaders ajax插件中的baseHeaders对象的是http请求头部的信息 var mime = settings.accepts[dataType], baseHea ...

  3. Ajax详细剖析

    概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 传统的Web应用 一个简单操作需要重新 ...

  4. Ajax技术剖析

    Ajax的全称是Asynchronous JavaScript and XML,是JS的特有功能,它作用是异步JS数据交互,即在不进行页面刷新的情况下进行部分数据的获取,性能较高.值得注意的是,仅有A ...

  5. Axios源码深度剖析 - 替代$.ajax,成为xhr的新霸主

    前戏 在正式开始axios讲解前,让我们先想想,如何对现有的$.ajax进行简单的封装,就可以直接使用原声Promise了? let axios = function(config){ return ...

  6. C#进阶系列——WebApi 路由机制剖析:你准备好了吗?

    前言:从MVC到WebApi,路由机制一直是伴随着这些技术的一个重要组成部分. 它可以很简单:如果你仅仅只需要会用一些简单的路由,如/Home/Index,那么你只需要配置一个默认路由就能简单搞定: ...

  7. AJAX初探,XMLHttpRequest介绍

    AJAX初探,XMLHttpRequest介绍 AJAX      AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML.      AJ ...

  8. AJAX04 JQ的AJAX

    一.jQuery中的Ajax 1.jQuery为我们提供了更强大的Ajax封装 $.ajax({}) 可配置方式发起Ajax请求 $.get() 以GET方式发起Ajax请求 $.post() 以PO ...

  9. ajax回调打开新窗体防止浏览器拦截有效方法

    ajax回调打开新窗体防止浏览器拦截,就这么做! 问题剖析:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function click_fun(){    window ...

随机推荐

  1. bat修改注册表

    bat添加注册表,这里只是其中一部分,以后再补充.各项参数介绍的挺详细的,认真按照语法要求写就可以. reg add "HKCU\Software\Microsoft\Windows\Cur ...

  2. Flutter之Dio引入和简单的Get/Post请求

    先在pubspec.yaml中引入Dio包如图所示 认识Dio库:dio是一个dart的 http请求通用库,目前也是大陆使用最广泛的库,国人开发,完全开源. flutter的插件包管理:学了引入di ...

  3. 6种php加密解密方法

    <?php function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_d ...

  4. 分布式消息通信之RabbitMQ_01

    目录 官网 1. RabbitMQ安装 1.1 Window版安装 1.2 Linux版安装 2. 典型应用场景 3. 基本介绍 3.1 AMQP协议 3.2 RabbitMQ的特性 3.3 工作模型 ...

  5. 查看创世区块 Genesis Block和channel.tx文件

    将 Block 详细内容导入到 json 文件查看 configtxgen -inspectBlock channel-artifacts/genesis.block > genesis.blo ...

  6. 2019-10-17 李宗盛 spss作业

    开放数据库连接是为解决异构数据库之间的数据共享而产生的,现已成为Wosa cwindows开放系统体系结构主要部分和基于Windows环境的一种数据库访问接口标准ODBS被异构数据库访问提供统一接口, ...

  7. NDK学习笔记-NDK开发流程

    本文主要是说明一下在eclipse下如何对NDK进行配置 配置NDK 虽然现在基本上都使用Android Studio进行Android开发,但一些项目在eclipse中仍有运用,这里讲一讲eclip ...

  8. Nginx 小入门记录 之 初识Nginx和环境准备(一)

    前置知识准备: 如果还不知道服务器是干什么的,只是刚踏入程序员之路的,大家还是先学习基础,虽然以下文档很简单,但至少知道为什么要学: 一般服务器环境现在基本上都是放在Linux系统上了,如果对Linu ...

  9. 1.3.4 并发工具类CountDownLatch/Semaphore/CyclicBarrier/FutureTask

    CountDownLatch的2个用途: 1. 所有线程都到达相同的起跑线后,再一起开始跑(并非同时开始,而是队列中一个唤醒另一个)[此情况需到达起跑线后再调用await()等待其他线程] 2. 所有 ...

  10. 在Eclipse中手动为其添加spring组件开发支持

    https://blog.csdn.net/Tajyl/article/details/79410897 注意找对应spring版本 进入eclipse >>help>>abo ...