zoukankan      html  css  js  c++  java
  • ajax( 汇率转化)

    htmhtml:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="Scripts/jquery-1.9.1.js" type="text/javascript"></script>
        <script language="javascript" type="text/javascript">
        function Button1_onclick() {
        //创建一个浏览器通用的XMLHTTPRequest对象
        var request = false;
        try 
        {
            request = new XMLHttpRequest();
        }
        catch (trymicrosoft) 
        {
            try {
                request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (othermicrosoft) 
            {
                try {
                    request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (failed) 
                {
                request = false;
                }
            }
        }
        if (!request) {
            alert("Error initializing XMLHttpRequest!");
        }
    //    else {
    //        alert("OK");
    //    }
        var amount = document.getElementById("Text1").value;
        var moneytype = document.getElementById("Select1").value;
        request.open("POST", "huilv.ashx?amount="+amount+"&moneytype=" + moneytype+"&ts="+new Date(), true); //准备向服务器的GetDate1.ashx发送请求,最后&ts防止有缓存的,ajax一般不用缓存
                
        //XMLHTTP默认(也推荐)不是同步请求的,也就是open方法并不像webClient的DownloadString那样把服务器返回的数据拿到才返回,是异步的,因此需要监听onreadystatechange事件
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                if (request.status == 200) {//如果状态是200表示成功
                    document.getElementById("Text2").value = request.responseText;//responseText属性为服务器返回的数据       
                }
                else {
                    alert("Ajax服务器返回错误!");
                }
            }
        }
        request.send();//这时才开始发送请求
    }
    //使用jQuery版本ajax
    function Button2_onclick() {
        var amount = $("#Text1").val();
        var moneytype = $("#Select1").val();
        //通过jquery的post方法来调用ajax技术  
        //第一个参数是要访问的页面,第二个参数是传递的数据,第三个参数是匿名函数
        $.post("huilv.ashx",{"amount":amount,"moneytype":moneytype}, function (data,textStatus) {
            if (textStatus = "success") {
                $("#Text2").val(data);
            }
            else {
                alert("ajax失败");
            }
        });
        }
        </script>
    </head>
    <body>
        <input type="text" id="Text1"/>
        <select id="Select1" name="D1">
            <option value="1">美元</option>
            <option value="2">日元</option>
            <option value="3">港币</option>
        </select>
        <input type="button" id="Button1" value="计算" onclick="Button1_onclick()" />
        <input type="button" id="Button2" value="jQuery版Ajax" onclick="Button2_onclick()" />
        <input type="text" id="Text2"/>
    </body>
    </html>
    

      

      ashx:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace AJax
    {
        /// <summary>
        /// huilv 的摘要说明
        /// </summary>
        public class huilv : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                //一个下拉列表(美元,日元,港币),一个按钮,点击按钮在一个span中显示转换后的金额,汇率计算在服务器端完成,假设汇率(人民币/外币):7  10
                string amount = context.Request["amount"];
                string moneytype = context.Request["moneytype"];
                int iAmount = Convert.ToInt32(amount);
                if (moneytype == "1")//美元
                {
                    context.Response.Write(iAmount / 7);
                }
                else if (moneytype=="2")
                {
                    context.Response.Write(iAmount * 10);
                }
                else if (moneytype=="3")
                {
                    context.Response.Write(iAmount);
                }
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
    

      

    感谢来访,共同学习!
  • 相关阅读:
    netstat -ano 查看机器端口占用情况
    配置中心Nacos 20210908
    ABAP-查询系统表记录
    ABAP-自定义表维护程序
    linux 常用操作
    自动化回归测试实战
    LeetCode大部分是medium难度不怎么按顺序题解(下)
    bitmapCache.getDataURL is not a function BUG修复
    createjs 刮刮卡,刮开百分比。 含源文件
    【nim语言】nim语言 1.4.8编译时SSL报错“No SSL/TLS CA certificates found” 解决方法。
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3061475.html
Copyright © 2011-2022 走看看