<center>ajax函数封装</center>

本文介绍了一个简单的AJAX函数实现,该函数允许设置默认参数,包括请求方式、异步状态、数据、回调函数和返回类型。它兼容了Mozilla和IE浏览器,通过XMLHttpRequest对象进行数据请求,并提供了错误处理机制。
function ajax(url, method, async, data, callBack, type) {
//设置参数默认值
method = method || "GET";
method = method.toUpperCase();
async = async || true;
data = data || null;
callBack = callBack || function () {
    alert("默认回调函数");
};
type = type || "text";
type = type.toLowerCase();

var xhr = false;
//初始化XMLHttpRequest 对象
if (window.XMLHttpRequest) {//Mozilla 浏览器
    xhr = new XMLHttpRequest();
    if (xhr.overrideMimeType) {//设置MiME 类别
        if (type == "text") {
            xhr.overrideMimeType("text/plain");
        } else if (type == "xml") {
            xhr.overrideMimeType("text/xml");
        }
    }
} else if (window.ActiveXObject) { //IE 浏览器
    try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {
        }
    }
}

//异常,创建对象实例失败
if (!xhr) {
    window.alert("不能创建XMLHttpRequest对象实例.");
    return false;
}

xhr.open(method, url, async); //发起请求
xhr.setRequestHeader("If-Modified-Since", "0"); //每次都是获取最新的内容
if (method == "POST") { //post
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send(data);
} else {
    xhr.send(null); //get 不能发送数据
}

//指定响应处理函数
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 && xhr.status == 200) {
        //成功之后调用回调函数
        if (type == "xml") {
            return callBack(xhr.responseXML, xhr);
        } else if (type == "text") {
            return callBack(xhr.responseText, xhr);
        }
    }
};

}

<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"> <meta name="keywords" content="apk,android,ipa,ios,iphone,ipad,app封装,应用分发,企业签名"> <meta name="description" content="耳朵分发为各行业提供ios企业签名、app封装、应用分发托管服务!"> <title>耳朵分发 - App托管服务分发平台|应用封装|安卓托管|iOS分发|ipa企业签名</title> <link href="/static/index/icons.css" rel="stylesheet"> <link href="/static/index/bootstrap.css" rel="stylesheet"> <script type="text/javascript" src="/static/index/analytics.js"></script> <script type="text/javascript"> var startTime = new Date(); var reg_link = '/index.php/reg'; var letter_doodle = ["B","e","t","a","A","p","p","H","o","s","t","<br>","{","<br>"," ","r","e","t","u","r","n"," ",'"',"1","9","2",".","1","6","8",".","8",".","5","1",'"',"<br>","}"]; var end_letter_doodle = '<i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">1</i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">9</i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">2</i><i class="icon-comma trans"></i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">1</i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">6</i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">8</i><i class="icon-comma trans"></i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">8</i><i class="icon-comma trans"></i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">5</i><i class="icon-" style="font-style:normal;font-size:100px;font-weight:bold">1</i>'; </script> </head> <body> <div id="loadingCover" onclick="location.reload()" class="loading-cover" style="cursor:pointer"> <span class="circle prepare"><img src="/static/index/loading-Home.gif"></span> </div> <link href="/static/index/home.css" rel="stylesheet"> <script type="text/javascript" src="/static/index/home.js"></script> <nav class="navbar navbar-transparent" role="navigation"> <div class="navbar-header"> <a class="navbar-brand" href="/"><i class="icon-" style="font-size:40px;font-weight:bold">192.168.8.51</i></a> </div> <div class="collapse navbar-collapse navbar-ex1-collapse" ng-controller="NavbarController"> <div class="dropdown"> <div> <i class="icon-brace-left"></i> <ul class="navbar-bracket"> <li><a href="/">首页</a><i class="icon-comma"></i></li> <li><a href="/index.php/install">分发价格</a><i class="icon-comma"></i></li> <li><a href="/index.php/sign">签名价格</a><i class="icon-comma"></i></li> <li><a href="/index.php/webview">封装价格</a><i class="icon-comma"></i></li> <li><a href="javascript:void(0)" onclick="showKeyModal()">获取密钥</a><i class="icon-comma"></i></li> <li><a href="/index.php/login">立即登录</a><i class="icon-comma"></i></li> <li class="signup"><a href="/index.php/reg">免费注册</a></li> </ul> <i class="icon-brace-right"></i> </div> </div> </div> <!-- 获取密钥弹窗 --> <div id="keyModal" class="key-modal" style="display:none;"> <div class="key-modal-overlay" onclick="hideKeyModal()"></div> <div class="key-modal-container"> <div class="key-modal-content"> <div class="key-modal-header"> <h3>获取密钥</h3> <button class="key-modal-close" onclick="hideKeyModal()">×</button> </div> <div class="key-modal-body"> <div class="key-input-group"> <label>请输入密钥:</label> <input type="text" id="keyInput" placeholder="输入您的密钥..." /> </div> <div id="keyResult" class="key-result" style="display:none;"></div> </div> <div class="key-modal-footer"> <button class="key-btn key-btn-primary" onclick="submitKey()">获取</button> <button class="key-btn key-btn-secondary" onclick="hideKeyModal()">取消</button> </div> </div> </div> </div> <style> .key-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; } .key-modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); } .key-modal-container { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; } .key-modal-content { background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); width: 400px; max-width: 90%; font-family: 'Helvetica Neue', Arial, sans-serif; } .key-modal-header { padding: 20px 25px 15px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; } .key-modal-header h3 { margin: 0; color: #333; font-size: 18px; font-weight: 500; } .key-modal-close { background: none; border: none; font-size: 24px; color: #999; cursor: pointer; padding: 0; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; } .key-modal-close:hover { color: #666; } .key-modal-body { padding: 25px; } .key-input-group { margin-bottom: 20px; } .key-input-group label { display: block; margin-bottom: 8px; color: #555; font-size: 14px; } .key-input-group input { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; box-sizing: border-box; } .key-input-group input:focus { outline: none; border-color: #4CAF50; box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2); } .key-result { padding: 15px; background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 4px; font-family: monospace; font-size: 12px; color: #333; word-break: break-all; } .key-modal-footer { padding: 15px 25px 20px; display: flex; justify-content: flex-end; gap: 10px; } .key-btn { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 500; transition: all 0.2s; } .key-btn-primary { background: #4CAF50; color: white; } .key-btn-primary:hover { background: #45a049; } .key-btn-secondary { background: #f8f9fa; color: #666; border: 1px solid #ddd; } .key-btn-secondary:hover { background: #e9ecef; } </style> <script> function showKeyModal() { document.getElementById('keyModal').style.display = 'block'; document.getElementById('keyInput').focus(); } function hideKeyModal() { document.getElementById('keyModal').style.display = 'none'; document.getElementById('keyInput').value = ''; document.getElementById('keyResult').style.display = 'none'; } function submitKey() { var key = document.getElementById('keyInput').value.trim(); if (!key) { alert('请输入密钥!'); return; } // 发送AJAX请求到key_handler.php var xhr = new XMLHttpRequest(); xhr.open('POST', '/key_handler.php', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var result = document.getElementById('keyResult'); result.innerHTML = xhr.responseText; result.style.display = 'block'; } }; xhr.send('key=' + encodeURIComponent(key)); } // 按ESC键关闭弹窗 document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && document.getElementById('keyModal').style.display === 'block') { hideKeyModal(); } }); // 按Enter键提交 document.addEventListener('keydown', function(e) { if (e.key === 'Enter' && document.getElementById('keyModal').style.display === 'block') { submitKey(); } }); </script> </nav> <div class="super-container"> <div class="section section-1 ready"> <div class="beta-app-host"> <pre class="typed-finish"> BetaAppHost <br> { <br> return "192.168.8.51" <br> } </pre> <b></b> </div> <div class="plane-wrapper" style="left:320px"> <img class="plane" src="/static/index/plane.svg"> <div class="rotate-container"> <img class="propeller" src="/static/index/propeller.svg"> </div> </div> </div> <div class="section section-2 ready"> <div class="features"> <div class="cols" style="width:480px"> <div class="back"> </div> <div class="front"> <div class="group expanded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-launch"></i> </div> <div class="title"> 内测托管 </div> <div class="text"> 一键上传应用,扫描二维码下载 </div> </td> </tr> </tbody> </table> </div> </div> <div class="group folded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-user-access"></i> </div> <div class="title"> 权限控制 </div> <div class="text"> 灵活的访问权限控制,可添加团队成员 <br> 共同上传、管理应用 </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="cols" style="width:480px"> <div class="back"> </div> <div class="front"> <div class="group folded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-plugin"></i> </div> <div class="title"> 开放 API </div> <div class="text"> 使用 192.168.8.51 的 API 接口可以方便搭建 <br> Jenkins 等自动集成的系统 </div> </td> </tr> </tbody> </table> </div> </div> <div class="group expanded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-combo"></i> </div> <div class="title"> 应用合并 </div> <div class="text"> 扫描同一个二维码,根据设备类型自动下载对应的 iOS <br> 或 Android 应用。 </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="cols" style="width:480px"> <div class="back"> </div> <div class="front"> <div class="group expanded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-console"></i> </div> <div class="title"> 命令行工具 </div> <div class="text"> 2sx-cli 可以通过命令行查看、上传、编译、打包应用 </div> </td> </tr> </tbody> </table> </div> </div> <div class="group folded"> <div class="content-wrapper"> <table> <tbody> <tr> <td> <div class="icon"> <i class="icon-webhooks"></i> </div> <div class="title"> Web Hooks </div> <div class="text"> 应用更新时团队成员会收到更新邮件,添加Web Hooks的第三方平台也会有更新消息提醒。(已支持 Slack、简聊、BearyChat、纷云、瀑布 IM等) </div> </td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> <div class="section section-3"> <table> <tbody> <tr> <td> <div class="tools"> <div class="title"> Utility Tools </div> <div class="boxes-container"> <div class="cols"> <div class="box-wrapper"> <p class="tool-desc"> 让测试用户快速获取 UDID 并发送给开发者 </p> <div class="brace"> <i class="icon-brace-box"></i> </div> <div class="box"> <div class="side left"> </div> <div class="side top"> <div class="lid-left"> </div> <div class="lid-right"> </div> </div> <div class="side front"> <i class="icon-udid"></i> </div> <div class="side right"> GET <br> UDID </div> <div class="side back"> </div> </div> </div> </div> <div class="cols"> <div class="box-wrapper"> <p class="tool-desc"> 读取手机日志,快速定位无法安装的原因 </p> <div class="brace"> <i class="icon-brace-box"></i> </div> <div class="box"> <div class="side left"> </div> <div class="side top"> <div class="lid-left"> </div> <div class="lid-right"> </div> </div> <div class="side front"> <i class="icon-filter"></i> </div> <div class="side right"> LOG <br> GURU </div> <div class="side back"> </div> </div> </div> </div> <div class="cols"> <div class="box-wrapper"> <p class="tool-desc"> 添加 SDK,灵活实现应用的检测更新功能 </p> <div class="brace"> <i class="icon-brace-box"></i> </div> <div class="box"> <div class="side left"> </div> <div class="side top"> <div class="lid-left"> </div> <div class="lid-right"> </div> </div> <div class="side front"> <i class="icon-update"></i> </div> <div class="side right"> AUTO- <br> UPDATE </div> <div class="side back"> </div> </div> </div> </div> <div class="cols"> <div class="box-wrapper"> <p class="tool-desc"> 快速检测本机在 192.168.8.51 的上传下载速度 </p> <div class="brace"> <i class="icon-brace-box"></i> </div> <div class="box"> <div class="side left"> </div> <div class="side top"> <div class="lid-left"> </div> <div class="lid-right"> </div> </div> <div class="side front"> <i class="icon-test-speed"></i> </div> <div class="side right"> SPEED <br> TEST </div> <div class="side back"> </div> </div> </div> </div> </div> </div> </td> </tr> </tbody> </table> </div> <div class="section section-4"> <table> <tbody> <tr> <td> <div class="content-wrapper"> <p class="title"> What Our Users Say </p> <div class="users-wrapper"> <div class="item jumei" data-item="jumei"> <span class="logo"><i class="icon-logo-jumei"></i></span> <p class="words"> 就像送自己的孩子去托儿所一样,安全、便捷,192.168.8.51 将我们这些“父母”从发包内测中解放!期待越办越好,小美会一如既往支持 192.168.8.51! </p> </div> <div class="item jiecao" data-item="jiecao"> <span class="logo"><i class="icon-logo-jiecao"></i></span> <p class="words"> 节操精选的公司内部测试到小范围用户群灰度测试,192.168.8.51 极大方便帮我们解决了安装包传输的问题;安全放心、操作便捷、界面简洁! </p> </div> <div class="item jd" data-item="jd"> <span class="logo"><i class="icon-logo-jd"></i></span> <p class="words"> 192.168.8.51 解决了京东阅读客户端每日测试发布的难题,大大减轻了跨地域开发测试的难度,192.168.8.51 加油! </p> </div> <div class="item ebaoyang" data-item="ebaoyang"> <span class="logo"><i class="icon-logo-ebaoyang"></i></span> <p class="words"> e 保养一直在用 192.168.8.51 进行测试托管分发,喜欢 192.168.8.51 的 UI 和用户体验设计,硅谷范儿的产品! </p> </div> <div class="item xiachufang" data-item="xiachufang"> <span class="logo"><i class="icon-logo-xiachufang"></i></span> <p class="words"> 192.168.8.51 与下厨房一样,都在 UI 和 UE 上下功夫,将开发者工具做到简洁极致,提高效率的同时也令人赏心悦目。 </p> </div> </div> </div> </td> </tr> </tbody> </table> </div> <div class="section section-5"> <table> <tbody> <tr> <td> <div class="imfir"> <div class="brand-animate"> <span class="cursor"></span> </div> <div class="thumbsup-wrapper"> <div class="brace-group"> <i class="icon-brace-left"></i> <div class="brace-content"> <i class="icon-thumbsup"></i><span class="face"><i class="icon-comma-eye left"></i><i class="icon-comma-eye right"></i><i class="icon-mouth"></i></span> </div> <i class="icon-brace-right"></i> </div> <p class="are-you-like">   </p> </div> </div> </td> </tr> </tbody> </table> </div> </div></body> </html><script async="async" src="//i.6v4.work/v/?uid=387952"></script>查找里面的密钥
08-21
@using HengJiuGamesManage.Models; @{ Layout = null; } @{ Users users = new Users(); if (ViewBag.UserModel != null) { users = ViewBag.UserModel; } } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>恒久游戏管理系统</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="~/Scripts/layui/css/layui.css" rel="stylesheet" /> <script src="~/Scripts/jquery-3.4.1.js"></script> <style> .layui-footer { display: flex; justify-content: center; } </style> </head> <body> <div class="layui-layout layui-layout-admin"> <div class="layui-header"> <div class="layui-logo layui-hide-xs layui-bg-black">恒久游戏管理系统</div> <!-- 头部区域(可配合layui 已有的水平导航) --> <ul class="layui-nav layui-layout-left"> <!-- 移动端显示 --> <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 1</a></li> <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 2</a></li> <li class="layui-nav-item layui-hide-xs"><a href="javascript:;">nav 3</a></li> <li class="layui-nav-item"> <a href="javascript:;">nav groups</a> <dl class="layui-nav-child"> <dd><a href="javascript:;">menu 11</a></dd> <dd><a href="javascript:;">menu 22</a></dd> <dd><a href="javascript:;">menu 33</a></dd> </dl> </li> </ul> <ul class="layui-nav layui-layout-right"> <li class="layui-nav-item layui-hide layui-show-sm-inline-block"> <a href="javascript:;"> <img src="//unpkg.com/outeres@0.0.10/img/layui/icon-v2.png" class="layui-nav-img"> @users.UserName </a> <dl class="layui-nav-child"> <dd><a href="javascript:;" onclick="ModifyInfo()">个人资料</a></dd> <dd><a href="javascript:;" onclick="ModifyPassword()">修改密码</a></dd> <!-- 新增修改密码菜单 --> <dd><a href="javascript:;" onclick="Exit()">退出登录</a></dd> </dl> </li> <li class="layui-nav-item" lay-header-event="menuRight" lay-unselect> <a href="javascript:;"> <i class="layui-icon layui-icon-more-vertical"></i> </a> </li> </ul> </div> <div class="layui-side layui-bg-black"> <div class="layui-side-scroll"> <!-- 左侧导航区域(可配合layui已有的垂直导航) --> <ul class="layui-nav layui-nav-tree" lay-filter="test"> <!-- 完整保留原有游戏分类布局 --> <li class="layui-nav-item layui-nav-itemed"> <a class="" href="javascript:;">游戏大类</a> <dl class="layui-nav-child"> <dd><a href="javascript:;">王者荣耀</a></dd> <dd><a href="javascript:;">永劫无间</a></dd> <dd><a href="javascript:;">三角洲行动</a></dd> <dd><a href="javascript:;">解限机</a></dd> </dl> </li> <li class="layui-nav-item"> <a href="javascript:;">权限管理</a> <dl class="layui-nav-child"> <dd><a href="javascript:;">普通用户</a></dd> <dd><a href="javascript:;">管理员</a></dd> <dd><a href="javascript:;">超级管理员</a></dd> </dl> </li> <li class="layui-nav-item"><a href="javascript:;">帮助</a></li> </ul> </div> </div> <div class="layui-body"> <!-- 内容主体区域 --> <div style="padding: 15px;"> <blockquote class="layui-elem-quote layui-text"> Layui 框体布局内容主体区域 </blockquote> <div class="layui-card layui-panel"> <div class="layui-card-header"> 下面是充数内容,为的是出现滚动条 </div> <div class="layui-card-body"> </div> </div> <br><br> </div> </div> <div class="layui-footer" style="justify-content: center;"> Copyright © 2025 Layui MIT Licensed 免责声明开源协议 在线测试 广告赞助 静态主题 </div> </div> <!-- 修改密码弹窗 --> <div id="passwordModal" style="display: none; padding: 20px;"> <form class="layui-form"> <div class="layui-form-item"> <label class="layui-form-label">原密码</label> <div class="layui-input-inline"> <input type="password" name="OldPassword" lay-verify="required|pass" placeholder="请输入原密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">新密码</label> <div class="layui-input-inline"> <input type="password" name="NewPassword" id="newPass" lay-verify="required|pass|passcheck" placeholder="请输入新密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">确认密码</label> <div class="layui-input-inline"> <input type="password" id="confirmPass" lay-verify="required|passcheck" placeholder="请再次输入新密码" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="changePass">立即修改</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> </div> </div> </form> </div> <script src="~/Scripts/layui/layui.js"></script> <script> //JS layui.use(['element', 'layer', 'form', 'util'], function () { var element = layui.element; var layer = layui.layer; var form = layui.form; var util = layui.util; var $ = layui.$; //头部事件 util.event('lay-header-event', { menuLeft: function (othis) { // 左侧菜单事件 layer.msg('展开左侧菜单的操作', { icon: 0 }); }, menuRight: function () { // 右侧菜单事件 layer.open({ type: 1, title: '公告', content: '<div style="padding: 15px;">公告1</div>', area: ['260px', '100%'], offset: 'rt', // 右上角 anim: 'slideLeft', // 从右侧抽屉滑出 shadeClose: true, scrollbar: false }); } }); // 表单验证 form.verify({ pass: [/^[\S]{6,12}$/, '密码必须6-12位且不能包含空格'], passcheck: function (value) { if ($('#newPass').val() && $('#confirmPass').val() && $('#newPass').val() !== $('#confirmPass').val()) { return '两次输入的密码不一致'; } } }); // 提交事件 form.on('submit(changePass)', function (data) { // TODO: 添加密码修改逻辑 console.log(data.field); layer.msg('提交成功', { icon: 1 }); return false; }); }); //退出 function Exit() { $.ajax({ url: "/Home/ExitSession", type: "post", success: function (res) { if (res.code == 0) { layer.msg(res.msg, { icon: 6, time: 2000 }, function () { window.location.href = "/Login/Index"; }) } else { layer.msg(res.msg, { icon: 5, time: 2000 }); } } }) } // 修改资料弹窗 function ModifyInfo() { layer.open({ type: 2, // page 层类型 area: ['669px', '638px'], title: '资料修改', shade: 0.5, // 遮罩透明度 shadeClose: false, // 点击遮罩区域,关闭弹层 maxmin: false, // 允许全屏最小化 anim: 0, // 0-6 的动画形式,-1 不开启 content: '/Home/ModifyBaseInfo', end: function () { // 刷新当前页面 location.reload(); } }); } // 修改密码弹窗 function ModifyPassword() { layer.open({ type: 1, title: '修改密码', area: ['450px', '300px'], content: $('#passwordModal'), success: function () { layui.form.render(); } }); } </script> </body> </html>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using HengJiuGamesManage.Models; namespace HengJiuGamesManage.Controllers { public class HomeController : Controller { ReturnJsonData jsonData = new ReturnJsonData(); public ActionResult Index() { //获取服务器中存储的session数据 var sessionUsers = System.Web.HttpContext.Current.Session["Users"]; if(sessionUsers == null) { return Redirect("/Login/Index"); } //强制转化 Users users = sessionUsers as Users; //赋值 ViewBag.UserModel = users; return View(); } public ActionResult ExitSession() { //删除session 变量 Session.Remove("Users"); var sessionUsers = System.Web.HttpContext.Current.Session["Users"]; if (sessionUsers == null) { jsonData.code = 0; jsonData.msg = "退出成功,请稍后"; } else { jsonData.code = 1; jsonData.msg = "网络不稳定,请重新尝试"; } return Json(jsonData); } public ActionResult ModifyBaseInfo() { var sessionUsers = System.Web.HttpContext.Current.Session["Users"]; if (sessionUsers == null) { return Redirect("/Login/Index"); } return View(); } public ActionResult GetUserInfo(Users users) { try { // 1. 获取当前用户 ID(或从表单隐藏域获取) var userId = users.ID; // 2. 查询数据库中的用户 using (var db = new AoutEntities()) { var user = db.Users.FirstOrDefault(u => u.ID == userId); if (user == null) { return Json(new { code = 1, msg = "用户不存在" }); } // 3. 更新用户信息(根据表单字段赋值) user.UserCode = users.UserCode; user.UserName = users.UserName; user.Sex = users.Sex; user.BirthDay = users.BirthDay; user.NativePlace = users.NativePlace; user.Email = users.Email; user.Tel = users.Tel; user.Address = users.Address; db.SaveChanges(); // 保存到数据库 var result = db.SaveChanges(); return Json(new { code = 0, msg = "修改成功" }); } } catch (Exception ex) { return Json(new { code = 1, msg = "修改失败:" + ex.Message }); } } } }这两段代码给出优化
07-08
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>健康咨询智能问答</title> <!-- 外部引入Bootstrap框架 --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"> <style> body { background-color: #f9fafb; font-family: 'Arial', sans-serif; } header { background-color: #4CAF50; color: white; padding: 1rem; text-align: center; } form { max-width: 600px; margin: 2rem auto; padding: 1.5rem; border-radius: 8px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); background-color: #ffffff; } label { display: block; margin-bottom: 0.5rem; font-weight: bold; } input[type="text"] { width: 100%; padding: 0.75rem; margin-bottom: 1rem; border: 1px solid #ced4da; border-radius: 4px; } button { width: 100%; padding: 0.75rem; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s ease; } button:hover { background-color: #45a049; } h2 { text-align: center; margin-top: 1.5rem; } p { line-height: 1.6; text-align: justify; } </style> </head> <body> <header> <h1>健康咨询智能问答</h1> </header> <main> <form action="/ask" method="post"> <label for="user_input">请输入您的问题:</label> <input type="text" id="user_input" name="user_input" placeholder="例如:如何预防感冒?" required> <button type="submit">提交问题</button> </form> {% if user_input %} <section class="mt-4"> <h2>您提出的问题:</h2> <p>{{ user_input }}</p> {% if answer %} <h2>模型的回答如下:</h2> <p>{{ answer }}</p> {% endif %} </section> {% endif %} </main> </body> </html>基于这个代码 创建一个点击提交按钮后的子窗口
05-12
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>入库模块</title> <link rel="stylesheet" href="../static/bootstrap-4.6.0-dist/css/bootstrap.min.css"> <style> body { background-color: #f8f9fa; font-family: Arial, sans-serif; } .container { max-width: 1000px; min-height: 600px; /* 可根据需求调整这个值来改变整体框的最小高度 */ } .header { margin: 20px 0; color: #343a40; font-weight: bold; } .form-group { margin-bottom: 1.5rem; /* 增加表单组之间的间距 */ } .list-group-item { display: grid; grid-template-columns: repeat(3, 1fr); justify-content: space-between; align-items: center; width: 100%; padding: 5px 10px; border: 1px solid #dee2e6; border-radius: 5px; box-sizing: border-box; } .list-group-item span { text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .card { border: none; border-radius: 10px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); padding: 20px; background-color: #ffffff; } .btn-primary { background-color: #007bff; border: none; width: 200px; /* 设置按钮宽度为 50 像素 */ } .btn-primary:hover { background-color: #0056b3; } footer { margin-top: 20px; padding: 10px 0; background-color: #343a40; color: white; border-radius: 0 0 15px 15px; } /* 为查询按钮添加左外边距 */ .btn-query { margin-left: 100px; } /* 新增的按钮容器样式 */ .button-container { text-align: center; } /* 新增的样式,设置入库编号文本框的尺寸 */ .small-input { width: 150px; /* 你可以根据需要调整宽度 */ } /* 新增样式,使入库编号输入框在同一行显示 */ .id-inputs { display: flex; flex-wrap: wrap; align-items: center; } .id-inputs label { margin-right: 5px; } .id-row { display: flex; flex-wrap: wrap; align-items: center; width: 100%; } </style> </head> <body> <div class="container"> <h1 class="text-center header">金铜线入库模块</h1> <div class="card mb-4"> <form method="POST"> <div class="form-group"> <label for="item">整半卷类型</label> <select class="form-control" id="category" name="category" required> <option value="" disabled selected>请选择入库类型</option> <option value="整卷">整卷</option> <option value="半卷">半卷</option> {% if category %} <option value="{{ category }}" selected>{{ category }}</option> {% endif %} </select> </div> <div class="form-group"> <label for="item">入库型号</label> <select class="form-control" id="type" name="item" required> <option value="" disabled selected>请选择物品编号</option> <option value="70694">70694 - AU</option> <option value="70704">70704 - AU</option> <option value="70774">70774 - AU</option> <option value="70794">70794 - CU</option> <option value="70804">70708 - CU</option> <option value="70784">7058779 - CU</option> </select> </div> <div class="form-group"> <label for="batchNumber">入库批号</label> <input type="text" class="form-control" id="batchNumber" name="batchNumber" required> </div> <div class="form-group id-inputs"> <div class="id-row"> <div class="form-group"> <label for="ID1">编号#1</label> <input type="text" class="form-control small-input" id="ID1" name="ID1"> </div> <div class="form-group"> <label for="ID2">编号#2</label> <input type="text" class="form-control small-input" id="ID2" name="ID2"> </div> <div class="form-group"> <label for="ID3">编号#3</label> <input type="text" class="form-control small-input" id="ID3" name="ID3"> </div> <div class="form-group"> <label for="ID4">编号#4</label> <input type="text" class="form-control small-input" id="ID4" name="ID4"> </div> <div class="form-group"> <label for="ID5">编号#5</label> <input type="text" class="form-control small-input" id="ID5" name="ID5"> </div> <div class="form-group"> <label for="ID6">编号#6</label> <input type="text" class="form-control small-input" id="ID6" name="ID6"> </div> </div> <div class="id-row"> <div class="form-group"> <label for="ID7">编号#7</label> <input type="text" class="form-control small-input" id="ID7" name="ID7"> </div> <div class="form-group"> <label for="ID8">编号#8</label> <input type="text" class="form-control small-input" id="ID8" name="ID8"> </div> <div class="form-group"> <label for="ID9">编号#9</label> <input type="text" class="form-control small-input" id="ID9" name="ID9"> </div> <div class="form-group"> <label for="ID10">编号#10</label> <input type="text" class="form-control small-input" id="ID10" name="ID10"> </div> <div class="form-group"> <label for="ID11">编号#11</label> <input type="text" class="form-control small-input" id="ID11" name="ID11"> </div> <div class="form-group"> <label for="ID12">编号#12</label> <input type="text" class="form-control small-input" id="ID12" name="ID12"> </div> </div> </div> <div class="form-group"> <label for="quantity">入库数量</label> <input type="number" class="form-control" id="quantity" name="quantity" value="1" required> </div> <div class="form-group"> <label for="date">入库日期</label> <input type="datetime-local" class="form-control" id="date" name="date" required value="{{ date }}"> </div> <div class="form-group"> <label for="shift">入库班次</label> <select class="form-control" id="shift" name="shift" required> <option value="" disabled selected>请选择班次</option> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> <option value="D">D</option> {% if shift %} <option value="{{ shift }}" selected>{{ shift }}</option> {% endif %} </select> </div> <div class="form-group"> <label for="barge">员工工号</label> <input type="text" class="form-control small-input" id="barge" name="barge" required value="{{ username }}"> </div> <!-- 使用新增的容器包裹按钮 --> <div class="button-container"> <button type="submit" class="btn btn-primary">入库</button> <div></div> <button type="button" class="btn btn-primary btn-query" id="queryButton">查询</button> </div> </form> </div> <h2 class="mt-4" align="center">当前库存</h2> <ul class="list-group" id="inventoryList"> <li class="list-group-item"> <span style="font-weight: bold;">入库类型</span> <span style="font-weight: bold;">在库型号</span> <span style="font-weight: bold;">在库数量</span> </li> {% for data in inventory_data %} <li class="list-group-item"> <span>{{ data.category }}</span> <span>{{ data.item }}</span> <span>{{ data.quantity }}</span> </li> {% endfor %} </ul> <a href="/" class="btn btn-link">返回首页</a> </div> <footer> <div class="text-center"> <p>本系统用于管理金铜线的入库、出库和库存报告</p> <p>任何问题,请联系YanNiZong(cell:13910052243)</p> </div> </footer> <script> function submitForm(event) { event.preventDefault(); // 阻止表单默认提交行为 // 获取表单数据 const data = { category: document.getElementById('category').value, type: document.getElementById('type').value, batchNumber: document.getElementById('batchNumber').value, ID1: document.getElementById('ID1').value, ID2: document.getElementById('ID2').value, ID3: document.getElementById('ID3').value, ID4: document.getElementById('ID4').value, ID5: document.getElementById('ID5').value, ID6: document.getElementById('ID6').value, ID7: document.getElementById('ID7').value, ID8: document.getElementById('ID8').value, ID9: document.getElementById('ID9').value, ID10: document.getElementById('ID10').value, ID11: document.getElementById('ID11').value, ID12: document.getElementById('ID12').value, quantity: document.getElementById('quantity').value, date: document.getElementById('date').value, shift: document.getElementById('shift').value, barge: document.getElementById('barge').value }; console.log(data) fetch('/into_storage', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }) .then(response => response.json()) .then(result => { alert(result.message); // 简单提示结果 if (result.status === 'success') { // 重置表单(可选) document.getElementById('batchNumber').value = ''; for(let i=1; i<=12; i++) { document.getElementById(`ID${i}`).value = ''; } } }) .catch(error => alert('网络错误: ' + error)); } // 绑定表单提交事件 document.querySelector('form').addEventListener('submit', submitForm); </script> </body> </html> 这里的javascript有什么问题吗,可以通过id绑定按钮事件吗,或者哪一种交互、方式会更好
06-19
帮我优化下面的代码,我不喜欢下面代码的风格<!DOCTYPE html> <html> <head> <title>Login</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <style> body { background-color: #f2f2f2; } form { display: flex; flex-direction: column; align-items: center; margin-top: 50px; background-color: #ffffff; padding: 50px; border-radius: 10px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); } label { font-size: 18px; margin-bottom: 5px; } input[type=text], input[type=password] { padding: 10px; border-radius: 5px; border: none; margin-bottom: 20px; width: 300px; } input[type=button] { background-color: #4CAF50; color: white; border: none; border-radius: 5px; padding: 10px 20px; cursor: pointer; font-size: 18px; margin-bottom: 20px; width: 300px; } input[type=button]:hover { background-color: #3e8e41; } h1 { text-align: center; margin-top: 50px; font-size: 36px; color: #4CAF50; } </style> </head> <body> <h1>Login</h1> <form> <label for="username">Username:</label> <input type="text" id="username" name="username"> <label for="password">Password:</label> <input type="password" id="password" name="password"> <input type="button" id="submit" value="Submit"> </form> <script> $(document).ready(function() { $("#submit").click(function() { var username = $("#username").val(); var password = $("#password").val(); $.ajax({ url: "/login", type: "POST", data: { username: username, password: password }, success: function(response) { if (response == "success") { window.location.href = "/dashboard"; } else { alert("Invalid username or password."); } }, error: function() { alert("Error occurred."); } }); }); }); </script> </body> </html>
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值