一个完整的ajax简单案例_Java实例

一个完整的ajax简单案例_Java实例写在前面的话:用了很久的Asp.NetAjax,也看了段时间的jquery中ajax的应用,但到头来,居然想不起xmlHttpRequest的该如何使用了.以前记的也不怎么清楚,这次

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
原文地址为:
完整的Ajax实例

写在前面的话:

用了很久的Asp.Net Ajax,也看了段时间的jquery中ajax的应用,但到头来,居然想不起xmlHttpRequest的该如何使用了.

以前记的也不怎么清楚,这次就重新完整的学习一遍吧,也为了自己以后能找个完整的地方来复习.

什么是Ajax

Ajax的全称是Asynchronous Javascript And XML.AJax由HTML,Javascript,DHTML和DOM组成.

HTML用于建立Web表单

Javascript代码用于运行Ajax应用程序的核心代码,用于和服务器引用程序进行通信

DHTML用于动态更新表单

DOM用于处理HTML结构和服务器返回的XML

时至今日,Js中可以处理的数据包括了字符串,JSON,XML数据.

优点

通过XMLHttpRequest对象来和服务器进行通信;在与服务器进行异步数据传输时,传输的数据更少;更好的用户体验. 

实例

get.htm页面HTML代码如下:

<body>
    <label for="txt_username">
        姓名:</label>
    <input type="text" id="txt_username" />
    <br />
    <label for="txt_age">
        年龄:</label>
    <input type="text" id="txt_age" />
    <br />
    <input type="button" value="GET" id="btn" onclick="btn_click();" />
    <div id="result">
    </div>
</body>

js代码如下:

<script type="text/javascript">
    function btn_click() {
        //创建XMLHttpRequest对象
        var xmlHttp = new XMLHttpRequest();

        //获取值
        var username = document.getElementById("txt_username").value;
        var age = document.getElementById("txt_age").value;

        //配置XMLHttpRequest对象
        xmlHttp.open("get", "Get.aspx?username=" + username
            + "&age=" + age);

        //设置回调函数
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                document.getElementById("result").innerHTML = xmlHttp.responseText;
            }
        }

        //发送请求
        xmlHttp.send(null);
    }
</script>

新建Get.aspx页,Get.aspx.cs代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Clear();

    string username = Request.QueryString["username"];

    string age = Request.QueryString["age"];

    Response.Write("姓名:'" + username + "'<br/>年龄:" + age + "<br/>时间:'" + DateTime.Now.ToString() + "'");

    Response.End();
}

结果:

输入姓名和年龄,点击Get按钮,就会从服务器获取到数据.

image

小结:

今天暂时写一个完整的例子来显示Ajax的调用过程,此例中存在许多问题:

  1. 如何创建在大部分浏览器中都能运行的XMLHttpRequest对象.
  2. 使用get请求时存在缓存问题
  3. 中文乱码问题

针对这些已经出现的问题,我们在随后的例子中会一一解决.

对于其他的疑问,比方说:

  1. 如何使用post传递数据
  2. post和get有什么区别
  3. 如何使用传输和使用json数据
  4. 如何传输和使用xml数据(毕竟,Ajax最后的一个字母x指的是XML)

对于这些疑问,我们在随后的文章里也会一一解决的.

转载请注明本文地址:
完整的Ajax实例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170680.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学习笔记——STM32摄像头OV7725(一)

    学习笔记——STM32摄像头OV7725(一)OV7725简介在各类信息中,图像含有最丰富的的信息,作为机器视觉领域的核心部件,摄像头被广泛地应用在安防、探险、以及车牌检测等场合。其按照输出信号的类型可以分为数字和模拟摄像头,按照材料构成可以分为CCD和CMOS。模拟摄像头的感光器件一般维持在752(H)*582(V)像素指标左右。由于CCD的像素由MOS电容组成,读取电荷信号是需要使用电压相当大的(至少2V)的二相/三相/四相的时序脉…

    2022年9月24日
    2
  • ASMM与AMM「建议收藏」

    ASMM与AMM「建议收藏」ASMM(AutomaticSharedMemoryManagement,自动共享内存管理)是Oracle10g引入的概念。通过使用ASMM,就不需要手工设置相关内存组件的大小,而只为SGA设置一个总的大小,Oracle的MMAN进程(MemoryManagerProcess,内存管理进程)会随着时间推移,根据系统负载的变化和内存需要,自动调整SGA中各个组件的内存大小。ASMM的…

    2022年5月2日
    86
  • c语言学生成绩管理系统(c语言链表实现学生管理系统)

    本代码供读者学习使用,请不要随意转载。一、设计题目:学生成绩管理系统二、目的与要求每位学生记录包含有学号、姓名、性别、出生日期、三门功课的成绩(高等数学、大学英语、C语言)、总分和平均分系统菜单:(1)录入学生记录(2)添加学生记录(3)删除学生记录(4)修改学生记录(要求输入密码)(5)查找学生记录(按学号、按姓名)(6)按总分对记录进行降序排列…

    2022年4月9日
    152
  • 桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!「建议收藏」

    桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!「建议收藏」前言前段时间,用PyQt5写了几篇文章,关于Python自制一款炫酷音乐播放器、自定义桌面动画挂件、车牌自动识别系统。今天就继续给大家分享一个实战案例,带大家一起用Python的PyQt5开发一个自定义动态桌面壁纸,好玩又有趣!首先一起来看看最终实现的自定义动态壁纸效果:…

    2022年5月31日
    31
  • vue封装组件思路_前端封装组件

    vue封装组件思路_前端封装组件父组件引用子组件,设置props<addtableName=”mysql”/>vue子组件初始化created(){//在组件初始化的时候执行,只执行一次console.log(this.$data);console.log(this);}vue中子组件的method…

    2022年9月24日
    3
  • 扩展数组…

    扩展数组…

    2021年7月8日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号