• 前端初学者一看就懂:Ajax调用后台接口案例(转)


    一直以来很多初学者对于ajax调用后台接口总是不能很明白,以下这个案例,能很清楚的过程展现给大家:

    首先,要做这个功能前,我们必须先查阅后台接口文档,了解使用登录接口时,需要提交哪些参数,并且接口使用返回的数据。 
    这里我使用了一个返回json格式数据的登录接口为例,讲解怎么使用Ajax与后台接口交互。

    用户登录接口URL:http://localhost:8080/user/login.do ,  Method: POST

    输入参数:username=admin

    password=123456

    输出:

    登录成功:{"result":"sucess", "code":100}

     密码错误:{"result":"fail", "code":101}

     用户名不存在:{"result":"fail", "code":102}

    编写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);//发送请求参数间用&分割
    新战场:https://blog.csdn.net/Stephen___Qin
  • 相关阅读:
    基于nginx+tomcat部署商城系统并连接数据库
    nginx防DDOS、cc、爬虫攻击
    nginx企业级优化
    基于nginx结合openssl实现https
    nginx打包成rpm
    产品运营3部曲:引量、留存、活跃
    从赢利前和赢利后分析 提高美国市场APP安装量的技巧
    APP海外优质推广渠道(三):海外ASO服务/工具汇总
    APP海外优质推广渠道(二):海外广告联盟/平台汇总
    关于O2O项目的个人看法
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/12284742.html
Copyright © 2020-2023  润新知