在Html页面中调用ajax代码
以最原始的XMLHttpRequest形式,实现ajax.
封装的方法
1 /**
2 * 发送一个 AJAX 请求
3 * @param {String} method 请求方法
4 * @param {String} url 请求地址
5 * @param {Object} params 请求参数
6 * @param {Function} done 请求完成过后需要做的事情(委托/回调)
7 */
8 function commonAjax (method, url, params, done) {
9 // 统一转换为大写便于后续判断
10 method = method.toUpperCase()
11 // 对象形式的参数转换为 urlencoded 格式
12 var pairs = []
13 for (var key in params) {
14 pairs.push(key + '=' + params[key])
15 }
16 var querystring = pairs.join('&')
17 var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new
18 ActiveXObject('Microsoft.XMLHTTP')
19 xhr.addEventListener('readystatechange', function () {
20 if (this.readyState !== 4) return
21 // 尝试通过 JSON 格式解析响应体
22 try {
23 done(JSON.parse(this.responseText))
24 } catch (e) {
25 done(this.responseText)
26 }
27 })
28 // 如果是 GET 请求就设置 URL 地址 问号参数
29 if (method === 'GET') {
30 url += '?' + querystring
31 }
32 xhr.open(method, url)
33 // 如果是 POST 请求就设置请求体
34 var data = null
35 if (method === 'POST') {
36 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
37 data = querystring
38 }
39 xhr.send(data)
40 }
调用:
1 //1. 获取界面上的元素 value
2 var txtUsername = "admin";
3 var txtPassword = "admin";
4
5 var url = 'http://127.0.0.1:8080/platform_oracle/app/userController/selectUserByUserCode.do';
6 var params= { userCode: txtUsername, userPwd: txtPassword };
7
8 commonAjax('post',url,params,function (data){
9 console.log(data);
10 });
返回值:

json格式化后的结果
1 {
2 "MSG_ID": "SUCCESS",
3 "RESULT_CODE": "1",
4 "MSG_CONTENT": "获取成功!",
5 "Content": {
6 "id": "E9EE2E1D4B834C59AA9719A7ADB0BA41",
7 "password": "21232F297A57A5A743894A0E4A801FC3",
8 "status": "1",
9 "userName": "admin",
10 "orgCode": null,
11 "orgName": "xxx软件",
12 "userCode": "admin",
13 "updateUser": null,
14 "jobNum": "000000",
15 "createUser": null,
16 "cellPhone": "11111",
17 "createTime": null,
18 "updateTime": null,
19 "roleName": null,
20 "delFlag": "0",
21 "icon": null
22 }
23 }
在Html页面中调用ajax代码的更多相关文章
- Salesforce Apex页面中调用远端网络服务
本文介绍了Salesforce Apex页面中调用远端网络服务的实现过程. ### 注册远端网络服务 在使用Apex代码调用远端网络服务之前,首先需要在Salesforce中注册远端网络服务地址, 本 ...
- 在JSP页面中调用另一个JSP页面中的变量
在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...
- 微信返回上一页,页面中的AJAX的请求,对Get请求无效的解决办法
问题产生原因 最近在做一个微信的项目时,遇到一种很常见的情况,需求是这样的,当用户进入到"我的个人中心"的时候,会有一个点击跳转填写认证资料的按钮,点击此按钮后,会跳转 ...
- JAVAFX 2.0 javascript中调用java代码
现在你已经知道如何在JavaFX中调用JavaScript.在本章中,你将了解到相反的功能——在web页面中调用JavaFX. 大体上的理念是在JavaFX程序中创建一个接口对象,并通过调用JSObj ...
- 微信小程序——页面中调用组件方法
我现在有一个弹层的组件(popup),组件里面定义了显示组件(showPopup)和隐藏组件(hidePopup)的方法. 我们如何在调用组件的页面中调用组件里面的方法呢? 在调用组件的页面写如下代码 ...
- 系统管理模块_部门管理_改进_抽取添加与修改JSP页面中的公共代码_在显示层抽取BaseAction_合并Service层与Dao层
系统管理模块_部门管理_改进1:抽取添加与修改JSP页面中的公共代码 commons.jspf <%@ page language="java" import="j ...
- 小程序:如何在wxml页面中调用JavaScript函数
早上过来遇到一个这样的bug: 在计算百分比的时候没有保留小数点后2位,从而导致一些无法整除的结果显示太长 一开始,我以为这是一个很普通的bug,既然wxml在页面{{}}内支持简单的运算,我想也应该 ...
- 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时
在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
随机推荐
- gerrit中mysql配置
gerrit数据库使用mysql 进入gerrit数据库 mysql -ugerrit -p -h127.0.0.1 -P3307 密码为用户名加pass mysql> select * fro ...
- Oracle中rownum的基本用法
Oracle中rownum的基本用法 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且r ...
- linux setup的安装
setup作为一个l图形化的界面能够让我们更方便的去操作linux系统,而不需要记各种各样的配置文件的名称. 但是我们安装的最初的setup只有验证配置一个功能,我们还要安装完其他的功能才能使用其他的 ...
- webapi xml序列化删除<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">标签
在WebApiConfig.Register中加入config.Formatters.Remove(config.Formatters.XmlFormatter); 移除默认的xml序列化器
- 巨坑– 膜BWV543
我不是一个喜欢膜别人的人,我从来都不擅长去夸奖.当面对巴赫的作品时,我发现我的敬佩难以用语言表达.我决定用另一种方式来表达我的欣赏,那就是分析并背下这个谱子. http://music.163.com ...
- asp.net 本地服务字段调用(WebSerice)的小问题
当有全局变量时,如:protected static Dictionary<string, string> SalesMail = new Dictionary<string, st ...
- Java学习笔记——鸵鸟学习记(一)
1. 变量 1.1 使用变量 a, 变量三要素:名字 值 类型 b, 变量命名 英文字母,数字,下划线,但不能数字开头 并不是英文单词,用拼音也可以 随便写也可以,但可读性差 区分大小写(Y与y是不同 ...
- str中文初始化乱码,要用宽字符;if else
QString str = QString::fromUtf16(L"{\\"closeEt\": true,\\"data\" : [[1,1,10 ...
- Ubuntu离线安装docker
1.先安装依赖libltdl7_2.4.6-0.1_amd64.deb 下载链接http://archive.ubuntu.com/ubuntu/pool/main/libt/libtool/libl ...
- 一行js代码识别Selenium+Webdriver及其应对方案
有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行 ...