前端【AJAX】----汇率转换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>汇率转换</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
            box-sizing: border-box;
        }
        :root {
            --mian-color: #0096d9;
        }
        html {
            font-size: 62.5%;
        }
        body {
            height: 100vh;
            padding-top: 100px;
            background-color: #eee;
        }
        .container {
            width: 400px;
            height: 500px;
            margin: 0 auto;
            text-align: center;
        }
        h1 {
            font-size: 2.6rem;
            color: var(--mian-color);
        }

        .ipts {
            height: 40px;
            display: flex;
            justify-content: space-between;
        }
        input, select {
            border: 0;
            outline: 0;
            background-color: transparent;
            height: 40px;
            line-height: 40px;
            width: 40%;
        }
        select {
            border: 1px solid lightgray;
        }
        input {
            text-align: right;
            font-size: 2rem;
            font-weight: 900;
        }

        .rule {
            height: 100px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .rule .btn {
            width: 60px;
            height: 30px;
            background-color: var(--mian-color);
            line-height: 30px;
            color: white;
            border-radius: 4px;
        }
        .rule #hl {
            color: var(--mian-color);
            font-size: 1.8rem;
        }
    </style>
</head>
<body>
    <div class="container">
        <img width="120" src="img/zh.png" alt="">
        <h1>汇率计算器</h1>
        <p style="margin: 3rem 0;">选择货币单位获取汇率</p >
        <div class="ipts">
            <select id="first">
                <option value="CNY">人民币CNY</option>
                <option value="USD">美元USD</option>
                <option value="AUD">澳元AUD</option>
                <option value="HKD">港元HKD</option>
                <option value="JPY">日元JPY</option>
                <option value="KRW">韩元KRW</option>
            </select>
            <input id="in" type="text" value="1" placeholder="请输入数值">
        </div>
        <p class="rule">
            <span class="btn">交换</span>
            <span id="hl">1 = 1</span>
        </p >
        <div class="ipts">
            <select id="second">
                <option value="CNY">人民币CNY</option>
                <option value="USD">美元USD</option>
                <option value="AUD">澳元AUD</option>
                <option value="HKD">港元HKD</option>
                <option value="JPY">日元JPY</option>
                <option value="KRW">韩元KRW</option>
            </select>
            <input id="out" type="text" value="1" disabled>
        </div>
    </div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
    // var url;
    $(".btn").click(function(){
        var first=$("#first").val();
        $("#first").val($("#second").val())
        $("#second").val(first);
        getHl();
    })
    $("select").change(function(){
        getHl();
    })
    $("#in").change(function(){
        getHl();
    })

    function getHl(){
        $.ajax({
            type:'get',
            url:`https://v6.exchangerate-api.com/v6/0710b62d4acb7877c4de9c6b/pair/${ $("#first").val() }/${ $("#second").val() }`,
            success:function(res){
                var hl=res.conversion_rate;
                var result=$("#in").val()*hl;
                console.log(result);
                $("#out").val(result);
                $("#hl").html(`1=${hl}`);
            }
        })
    }
</script>
</html>

效果图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AJAX (Asynchronous JavaScript and XML) 是一种用于前后端数据交互的技术。它允许在不刷新整个页面的情况下,通过异步方式向服务器发送请求并获取响应数据。 使用 AJAX 可以实现以下功能: 1. 发送异步请求:通过 JavaScript 创建 XMLHttpRequest 对象,并使用该对象发送 HTTP 请求到服务器。 2. 处理响应数据:一旦服务器返回响应,可以通过回调函数处理返回的数据。常见的数据格式包括 XML、JSON 或纯文本。 3. 更新页面内容:根据服务器返回的数据,可以使用 JavaScript 动态更新页面内容,而不需要刷新整个页面。这样可以提升用户体验并减少网络流量。 以下是一个简单的 AJAX 示例代码: ```javascript // 创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); // 指定请求的方法和 URL xhr.open('GET', 'https://api.example.com/data', true); // 设置回调函数处理响应 xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { // 处理服务器返回的数据 var response = xhr.responseText; console.log(response); // 更新页面内容 document.getElementById('result').innerHTML = response; } }; // 发送请求 xhr.send(); ``` 在上述示例中,我们使用 AJAX 发送了一个 GET 请求到 `https://api.example.com/data`,并设置了一个回调函数来处理服务器返回的数据。在回调函数中,我们将返回的数据打印到控制台,并将其更新到 id 为 `result` 的 HTML 元素中。 通过 AJAX前端可以与后端进行实时的数据交互,从而实现更加动态和响应式的用户界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值