JavaScript实现异步获取表单数据
作者:是小叶的呢. 发布时间:2024-07-06 22:42:15
本文实例为大家分享了JavaScript实现异步获取表单数据的具体代码,供大家参考,具体内容如下
在上一篇文章中讲到了使用JavaScript异步提交表单中的数据,那么今天我们就讲讲利用JavaScript异步获取表单中的数据;话不多说,让我们接着往下看。
效果图如下:
点击获取数据,就可以获取到如下图所示的数据。
HTML部分如下:
<div class="container">
<form class="form-horizontal" onsubmit="return false;">
<div class="form-group">
<label class="control-label col-md-3">姓名:</label>
<div class="col-md-4">
<input type="type" name="txtname" value=" " class="form-control" id="txtName"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">性别:</label>
<div class="col-md-4">
<select class="form-control" name="cboSex" id="cboSex">
<option>--请选择</option>
<option>男</option>
<option>女</option>
</select>
</div>
</div>
<div class=" form-group">
<label class="control-label col-md-3">地址:</label>
<div class="col-md-4">
<textarea class="form-control" name="txtAddress" id="txtAddress"></textarea>
</div>
</div>
<div class="form-group">
<button class="btn btn-primary col-md-offset-4" onclick="getVal()">获取表单的值</button>
<button class="btn btn-primary" onclick="postgetData()">提交数据</button>
<button class="btn btn-success" onclick="getData()">获取数据</button>
</div>
</form>
</div>
JavaScript部分如下:
function getData() {
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = ActiveXObject("microsoft.XMLHTTP");
}
xhr.open("post", "/JQuery/getInformation", true);
xhr.send();
xhr.onreadystatechange = function () {
if (xhr.status == 200 && xhr.readyState == 4) {
var txt = xhr.responseText;//获取xhr的返回值
var obj = JSON.parse(txt);//将字符串解析为js对象
document.getElementById("txtName").value = obj.name;
document.getElementById("cboSex").value = obj.sex;
document.getElementById("txtAddress").value = obj.address;
}
}
}
向服务器发送请求
向服务器发送请求,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。
一、什么是同步与异步?
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。
当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
异步实现:
1、运用HTML与CSS来实现页面,表达信息
2、运用XMLHttpRequest和web服务器进行数据的异步交换
3、运用JavaScript操作DOM,实现动态局部刷新
二、什么是 XMLHttpRequest 对象?
XMLHttpRequest 对象用于在后台与服务器交换数据(具体介绍可见w3c)
创建 XMLHttpRequest 对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建
XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:
var xhr=new XMLHttpRequest();
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveXObject 对象:
var xhr=new ActiveXObject("Microsoft.XMLHTTP");
为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject:
var xhr;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xhr = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
三.向服务器发送请求
向服务器发送请求,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:
open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。
控制器方法如下:
public ActionResult getInformation()
{
string str = "{\"name\":\"三三\",\"sex\":\"男\",\"address\":\"上海市南城区\"}";
return Content(str);
}
来源:https://blog.csdn.net/weixin_55108422/article/details/117219560


猜你喜欢
- 哎,好久没有学习爬虫了,现在想要重新拾起来。发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧。废话不宜多
- Python3 基础语法编码默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。当然你也可以
- /** * @Purpose: Mysql数据库访问类 * @Package: * @Author: lisen@sellingclub.c
- 先来看一道题目:>>> def func(numbers=[], num=1):... numbers.append(nu
- 作者的blog: blog.never-online.net"Never Modules"-NCC(never
- 前言一直想好好学习一下Python爬虫,之前断断续续的把Python基础学了一下,悲剧的是学的没有忘的快。只能再次拿出来滤了一遍,趁热打铁,
- 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份
- 在开发的时候, 可以使用类对方法进行封装,如果某一个方法需要访问到对象的实例属性,可以把这个方法封装成一个实例方法。如果某一个方法不需要访问
- golang中GOPATH的简单理解 1、为什么要配置GOPATH配置GOPATH的用意是为了方便项目的部署和构建,以及可以直接使用go g
- 具体流程:① 导入相应的包,下载训练集和测试集对应需要的图像数据。②进行图像数据的变换,使图像数据转化成pytorch可识别并计算的张量数据
- 近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBD+Heartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用
- MySQL 出现错误1418 的原因分析及解决方法具体错误: 使用mysql创建、调用存储过程,函数以及触发器的时候会有错误符号为
- Pytorch:Conv2d卷积前后尺寸Conv2d参数尺寸变化卷积前的尺寸为(N,C,W,H) ,卷积后尺寸为(N,F,W_n,H_n)W
- 一、需求描述web 自动化测试/python爬虫往往会遇到扫码登录的情况,不是所有的网站都支持用户密码登录,遇到这种扫码登录的情况会阻碍我们
- 首先下载最新的MySQL 5.7.17 Community 压缩版 for Windows 64-bit:官方下载地址:http://dev
- DataAccess.csusing System;using System.Collections.Generic;using Syst
- 前言 基于mybatis的AbstractRoutingDataSource和I
- 问题最近,在用SSH框架完成一个实践项目时,碰到了一个莫名其妙的Bug困扰了我好久,最后终于解决,记录如下。问题:同学在测试系统的时候突然发
- 虽然每个图像具有多个通道和多层卷积层。例如彩色图像具有标准的RGB通道来指示红、绿和蓝。但是到目前为止,我们仅展示了单个输入和单个输出通道的
- golang 原生 http 库已经可以很方便地实现一个 http server 了,但对于复杂的 web 服务来说,路由解析,请求参数解析