在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('@ ...
随机推荐
- 《剑指offer(第二版)》面试题64——求1+2+...+n
一.题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句 (即三元运算符,A? B : C) 二.题解 虽然求和问 ...
- 20175236 JAVA MyCP(课下作业)
具体描述: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容 ...
- 教你如何下载并破解IAR
最近参加项目要写STM8的工程的,所以用到IAR,所以就自己安装了一次然后写个心得. 因为我用到的是STM8,所以我就下载了STM8的,不过其他过程都一样的. 首先去到IAR SYSTEMS的官网,找 ...
- Spring4.0开始的泛型依赖
参考资料: http://www.cnblogs.com/solverpeng/p/5687304.html 视频地址:https://edu.51cto.com/course/1956.html 一 ...
- Spring boot 的application.properties 全局配置
端口号.项目名称 application.properties: server.port=8888 server.context-path=/start 日志相关的配置 # 自定义日志配置路径 log ...
- Windows下MongoDB的安装
1.安装Window2008 R2 并安装 SP1(我安装的是英文版,之前有安装中文版出错) 2.安装vc——redist_x64.exe(不然mongo运行不起来),没安装Sp1前,安装此部会出错. ...
- tensorflow/threading 用到的一些函数
---恢复内容开始--- import tensorflow as tf 1 tf.squeeze([1,2,3,4]) 删除所有为1的维度 eg shape从(1,2,3,1)到(2,3 ...
- gentoo virtual couldnt download
今天在更新系统的时候,提示 virtualbox-bin 从原始地址下载不了,经过一番摸索,通过下面的方式即可正常安装. http://download.virtualbox.org/virtualb ...
- java8-函数编程
在Function里面看到一个很奇怪的代码 static <T> Function<T, T> identity() { return t -> t; } 手动写了几个代 ...
- 听说jupyter notebook代码提示不友好?
作为一个业余的Python爱好者,我是一只在使用着最省事的pycharm 尽管以前见好多大牛都用过 但是今天又看到关于jupyter notebook的推送了,于是就尝试了一下 这好像也就是jupyt ...