AJAX小案例__生肖配对

AJAX小案例__生肖配对

斜体样式刚学习了AJAX后,由于没什么案例练手的,去网上找了点免费的API接口,做个小案例
本次运行浏览器为IE浏览器
由于小白还不会调试AJAX浏览器兼容性,只能在IE浏览器显示
下面是运行图:
运行图

  • 先找一个API接口

接口

需要注意一点 ,请求参数里的值都是需要解码的,不然获取输入框中文值无法转换 后面代码里会说

首先HTML代码

    <h1 style="color: red;">生肖配对</h1>
    请输入男的生肖: <input type="text" id="men"><br>
    请输入女的生肖: <input type="text" id="women"><br>
    <button onclick="getDate()">点击生成</button><br>
    <div id="show_result" style="color: green;font-size: 30px;"></div>

由于是随便写的,就精简一点,样式什么的看看就行

后面重点Js代码

//创建XMLHttpRequest对象
    var xmlHttp;
    function createXMLHttpRequest(){
        xmlHttp=new XMLHttpRequest();
    }
    function getDate(){
        createXMLHttpRequest();
        //获取输入框值
        var men_SX = document.getElementById('men').value;
        var women_SX = document.getElementById('women').value;
        //将获取的输入框值进行解码   encodeURLComponent();
        var men_url="men="+encodeURIComponent(men_SX);
        var women_url="&women="+encodeURIComponent(women_SX);
        // 将参数拼接
        var url=men_url+women_url+"&key=bb0751510c019da36166c401d9036fc7";
        //创建请求
        xmlHttp.open("post","http://apis.juhe.cn/sxpd/query?"+url,true);
        //设置请求头
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        //接受服务器处理
        xmlHttp.onreadystatechange=goBackResult;
        //发送key值
        xmlHttp.send("Key:bb0751510c019da36166c401d9036fc7")


    }
    function goBackResult(){
        //所有加载完成进行下一步
        if(xmlHttp.readyState==4 && xmlHttp.status==200){
            // 获取服务器接受的值
            var jsonDate = xmlHttp.responseText;
            // 进行转换 返回json类型值
            var jsonObj = eval('(' + jsonDate + ')');
            // 拿到需要显示的值
            var dataResult=jsonObj.result.data;
            // 获取显示区域并将拿到的值放进去
            document.getElementById('show_result').innerHTML=dataResult;
        }
    }

js提交ajax请求,默认编码方式是ISO-8859-1,此编码方式不支持中文,故要将参数转换成UTF-8编码或者其他支持中文的编码,在后台解码成中文
** 这里用到了encodeURIComponent()方法来进行将输入框获取到的中文值来进行解码 参考ajax请求带中文url的参数转码解码**

send发送的key值就是在API接口里会有key值,这个一定要带的

本接口来自于聚合数据

小白第一次写,有问题可以帮我指正一下,顺便请教一下AJAX兼容性,我想在其他浏览器运行0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值