使用Ajax与后台接口Api交互(以登陆功能为例)

首先,要做这个功能前,我们必须先查阅后台接口文档,了解使用登录接口时,需要提交哪些参数,并且接口使用返回的数据。

这里我使用了一个返回json格式数据的登录接口为例,讲解怎么使用Ajax与后台接口交互。

开发文档

由上图开发文档里,我们可以清楚的知道,要使用这个登录接口,我们只需要提交账号adminName和密码pwd两个参数。

二、编写javascript(Ajax)实现登录


var xmlhttp;
if (window.XMLHttpRequest){//IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
}
else{// IE6, IE5
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
//上面的http请求对象的生成做了一个浏览器兼容性处理
var adminName = document.getElementById(‘adminName‘).value;//获取html表单中adminName输入域对象的值,既账号
var psw = document.getElementById(‘psw‘).value;//获取html表单中pwd输入域对象的值,既密码          

xmlhttp.onreadystatechange=function(){
//当接受到响应时回调该方法
        if (xmlhttp.readyState==4 && (xmlhttp.status==200||xmlhttp.status==0))
        {
                    var tip = document.getElementById(‘tip‘);//获取html的tip节点,主要用于输出登录结果
                    var text = xmlhttp.responseText;//使用接口返回内容,响应内容
                    var resultJson = eval("("+text+")");//把响应内容对象转成javascript对象
                    var result = resultJson.result;//获取json中的result键对应的值
                    var code = resultJson.code;//获取json中的code键对应的值
                    if (result=="fail") {//登录失败
                        if(code==101){
                            tip.innerHTML = "密码错误!"
                        }else if(code==102){
                            tip.innerHTML = "用户不存在!"
                        }
                    }else //登录成功        if(result=="success"&&code==100){
                        window.location.href="center.html";//跳转到centent.html页面
                    }
          }
}
 xmlhttp.open("POST","control1/login",true);//以POST方式请求该接口
 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");//添加Content-type
 xmlhttp.send("adminName="+adminName+"&psw="+psw);//发送请求参数间用&分割

上面的代码中主要实现请求后台登录接口,若登录成功就跳转到用户中心,若登录失败,根据返回的code提示用户登录失败的原因。

作者:xuanyonghao
链接:https://www.jianshu.com/p/dd5b136aed73
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。相济断开傅

原文地址:https://www.cnblogs.com/aivnfjgj/p/9249783.html

时间: 2024-10-30 19:19:17

使用Ajax与后台接口Api交互(以登陆功能为例)的相关文章

thinkjs学习-this.assign传递数据和ajax调用后台接口

在页面加载时,就需要显示在页面上的数据,可以在后台使用this.assign赋值,在前台通过ejs等模板获取:用户点击按钮,或者触发某些事件和后台进行交互时,就需要用到ajax调用后台接口.本文通过一个例子讲述这两种方法的前后台实现.(方便起见,使用jQuery封装的ajax)' (ps:ajax调用后台接口的情形通常是用户触发事件,给后台传递一些前台的数据,然后后台根据这些数据进行相关操作,再返回前台一些数据.举个表单提交的例子,用户点击提交按钮之后,将填写的表单信息传递个后台,后台对传过来的

通过 Ajax 调取后台接口将返回的 json 数据绑定在页面上

第一步: 编写基础的 html 框架内容,并引入 jquery: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>测试Ajax</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"><

php免费接口API 分享 各大功能

天气接口 气象局接口: http://m.weather.com.cn/data/101010100.html 解析 用例 音乐接口 虾米接口 http://kuang.xiami.com/app/nineteen/search/key/歌曲名称/diandian/1/page/歌曲当前页?_=当前毫秒&callback=getXiamiData 用例 代码解释和下载 QQ空间音乐接口 http://qzone-music.qq.com/fcg-bin/cgi_playlist_xml.fcg?

atitit.js&#160;javascript&#160;调用c#&#160;java&#160;php后台语言api&#160;html5交互的原理与总结p97

atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参数个数2 1.3. 事件监听2 1.4. 异常转换2 2. dwrC.exec3 2.1. 支持 ajax 与browExt模式  支持反射,直接继承调用后台api3 2.2. sendNSCommand (nativeswing的实现)3 2.3. --------nativeswing的实现3

Vue中使用Ajax与后台交互

一.下载依赖包 npm install --save axios 二.封装 ajax 请求模块 1. api/ajax.js /* ajax 请求函数模块 */ import axios from 'axios' export default function ajax (url = '', data = {}, type = 'GET') { return new Promise(function (resolve, reject) { let promise if (type === 'GE

通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/

  前  言  PHP     通过上一篇博客,注册账号与登录页面--前后台数据交互  跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下: ① PHP中的数据传输-->>--在主页先添加基础HTML5基本框架,通过form表单提交数据 >>由主页传输给主页后台-->>主页后台经过转码保存实例化的文件 ②主页后台通过判断(是否保存文件)使用输出语句输出true或false,前台通过ajax中的post中的fu

利用ajax与后台交互容易出现的问题及解决办法

Ajax在当今的前后台交互中可以说是很火的.那么在使用ajax与后台交互的过程中我们会遇到哪些小问题呢. 使用get方法的时候: 1.浏览器的缓存问题:当我们多次访问同一个地址的时候,浏览器不会每次都更新地址,而是将第一次访问到的数据缓存起来,后面访问同样地址的时候直接从缓存中获取数据,而不会从服务器中读取数据,因此如果我们改变后台中的数据,我们访问时数据将不会更新,访问到的数据也不会改变.如何解决这个问题呢?这时我们可以在"url?"后面用"&"符号连接一

mvc5 webap2 前台如何使用 ajax 请求后台API

按照正常的写法,总是出现404错误,研究了很久,在这里找到了解决方案:http://buxuxiao.com/article/using-jquery-to-post-frombody-parameters-to-web-api 现在总结一下, 单个参数的情况下: 1.后台参数正确的写法如下: [Route("Services/{controller}/{action}")] [HttpPost] [HttpGet] public string UploadTransportNetwo

Spring Mvc模式下Jquery Ajax 与后台交互操作

1.基本代码 1)后台控制器基本代码 @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService;//服务 @ResponseBody @RequestMapping(value="/getUser/*访问路径自己设置*/", method = RequestMethod.POST) public Objec