uchome 二次开发 AJAX解析

导数在工程与AI中的12个实战应用解析 导数作为数学中的基本概念,本质是描述变化率的工具,其核心价值在于将非线性问题局部线性化处理。从原理上看,通过极限过程捕捉函数瞬时变化特性,使工程师能精确控制系统动态行为,帮助科学家量化自然规律变化速率。在技术实现层面,现代符号计算(如Mathematica)、数值计算(如MATLAB)和自动微分(如PyTorch)工具链的发展,大幅提升了导数计算的效率与精度。典型应用场景涵盖机械控制(如ABS防抱死系统)、金融工程(如期权希腊值计算)、医疗影像(如Canny边缘检测)等领域。特别在机器学习中,反向传播算法依 阅读详情

uchome 用的最多的两个函数  ajaxpost()   和 ajaxmenu() ;

1.  uchome ajax(局部刷新)评论部分效果分析:

 

    

实现:  1>  评论条数 由原来的  n 条 变成了 n+1 条

        2>  评论内容 从数据库中调取数据显示出来

        3>  评论提交成功 提示语“进行的操作完成了”。也可能是“两次操作太快,请等‘设定时间’后再试”。

注:用innerHTML来展示的还有右上角的红色loading…  这个只是AJAX进行处理时会显示数据返回后就会隐藏~


2. Ajaxpost代码执行过程分析

首先,看一下提交数据 触发点~

    模板文件template/default/space_blog_view.htm评论表单代码里的 

<input type="button" id="commentsubmit_btn" name="commentsubmit_btn" class="submit" value="评论" onclick="ajaxpost('quickcommentform_{$id}', 'comment_status', 'comment_add')" /><span id="comment_status"></span>

点击“评论”的时候调用 ajaxpost() 函数  此函数在:/source/script_ajax.js 文件中

函数内容如下:

 

Ajaxpost()解读:

   在这里函数传了三个参数:表单ID “quickcommentform_{$id}” 、 提示语显示位置ID“comment_status” 这里指的是上面的“<span id="comment_status"></span>” 部分 、 函数名 comment_add

1)、showloading(); 显示上面说的“右上角的红色loading…”; 这个loading.... 显示的位置为什么在右上角呢?大家都知道 header.htm 文件中有两个空层,其中 </div><div id="ajaxwaitid"></div> 就是用来显示这个loading....的

2)、ajaxframe.style.display = ‘none’;

$(’append_parent’).appendChild(ajaxframe);创建一个名字为 ajaxframe的iframe标签之后让它隐藏起来以便于进行幕后操作,让ajaxframe作append_parent节点,上面说了header.htm中有两个空层,其中一个是为了显示loading...那么另一个(<div id="append_parent"></div>)它就是为子结点ajaxframe而存在的。

    3)、$(formid).target = ajaxframeid;

$(formid).action = $(formid).action + '&inajax=1';   这里是关键,为隐藏的ajaxframe  设置表单的 target 属性,是表单在提交之后,页面不发生变化。接着是修改表单的action属性值,在后面加个参数inajax,让处理表单的action知道这个是使用ajax技术的,要特殊处理。设置 target 和 action 为不同值,可以说此流程的核心。

   4)、ajaxpostHandle = [showid, ajaxframeid, formid, $(formid).target, func]; 

      设置句柄为下面的 回调函数 ajaxpost_load 提供参数(showid 显示位置,ajaxframeid结点ID, 表单ID , 表单target属性, 回调函数名)

   5)、ajaxframe.detachEvent ('onload', ajaxpost_load);

   ajaxframe.attachEvent('onload', ajaxpost_load); 为隐藏的ajaxframe设置监听,此两行是用于ie系统的浏览器,else下面的那两行是用于其他的浏览器。

   6)、 准备工作完成,最后该提交表单了– $(formid).submit();

   7)、现在看一下action 的值从原来的“cp.php?ac=comment”实际已经被修改为“cp.php?ac=comment&inajax=1” 

   8)、ok  提交 action开始到程序处理页面 cp_comment.php  下面是几个关机部分:

       a、入库:$cid = inserttable(’comment’, $setarr, 1);

       b、处理完成  提示语  //$msg = ‘do_success’;    $msg = "进行的操作完成了";

   showmessage($msg, $_POST['refer'], 0, $magvalues);  

   至此表单的action处理完了,也就是说数据保存工作已经完成了。下面主要把数据调出来显示了。程序跑到了

   9)、 数据回调ajaxframe.attachEvent(’onload’, ajaxpost_load);这是一个监听。实际上当action结束后,这个监听就捕获到onload动作了,紧接着调用 ajaxpost_load函数

      Ajaxpost_load() 解读:

   1>. showloading('none'); 隐藏右上角 loading... 信息

   2>. 

把ajaxframe的内容读出来赋值给s,用于提示。此时s的内容是“进行的操作完成了”

    if(is_ie) {

   var s = $(ajaxpostHandle[1]).contentWindow.document.XMLDocument.text;

相当于

   var s = $(ajaxframe).contentWindow.document.XMLDocument.text;

    } else {

   var s =  $(ajaxpostHandle[1]).contentWindow.document.documentElement.firstChild.nodeValue;

相当于

   var s =  $(ajaxframe).contentWindow.document.documentElement.firstChild.nodeValue;

    }

3> . 调用函数 comment_add

    if(ajaxpostHandle[4]) {

   setTimeout(ajaxpostHandle[4] + '(\'' + ajaxpostHandle[0] + '\',' + ajaxpostresult + ')', 10);

    }

   相当于

    if(comment_add) {

   setTimeout(comment_add + '(\'' + showid + '\',' + ajaxpostresult + ')', 10);

    }

4> 输出提示语  并在一秒后自动关闭

   if(!evaled && (typeof ajaxerror == 'undefined' || !ajaxerror)) {

      ajaxinnerhtml($(ajaxpostHandle[0]), '<div class="popupmenu_inner">' + s + '</div>');

      if(!evaled)evalscript(s);

      setMenuPosition($(ajaxpostHandle[0]).ctrlid, 0);

      jsmenu['timer'][$(ajaxpostHandle[0]).ctrlid] = setTimeout("hideMenu()", 1000);

   }

5> 恢复初始化值

ajaxerror = null;

if($(ajaxpostHandle[2])) {

    $(ajaxpostHandle[2]).target = ajaxpostHandle[3];

}

ajaxpostHandle = 0;

至此点击评论按钮,到提示语已经处理完成接下来是数据调取:

当action 程序处理完成后 ajax回调时调用 comment_add 函数 这个函数在 /source/script_manage.js 文件中 执行x.get 方法! 在此不做详细说明;

3. Ajajx弹出层  ajaxmen()参数解析:

   ajaxmenu(e, ctrlid, timeout, func, offset)

   e: 就写event就可以了,这个是event事件

   ctrlid:就是点击那个要弹出ajaxmenu框的id,这个id一定要指定

   func:应该是一个回调函数啦,偶还没有使用过。

   timeout:多少毫秒后关闭,官方默认都写的99999

   offset: 这个参数有四种情况,默认值为:0

   offset= -1 :弹出框会出现在屏幕中央位置

   offset=1 :弹出框的右上角在鼠标点击位置附近,但垂直位置始终保持在鼠标的下方

   offset=2 :弹出框的右上角在鼠标点击位置附近,但垂直位置始终保持在鼠标的上方

   offset=其它值:弹出框的右上角在鼠标点击位置附近,但垂直位置会根据滚动条位置判断,如果弹出框非常大,

   有上面一半以上被隐藏的话会自动调整为offset=1的效果,有下面一半以上被隐藏的话会自动调整为offset=2的效果.

   设置弹出框位置的函数就是:(source/script_menu.js)

   function setMenuPosition(showid, offset);


使用 ANSYS 实现铸造、凝固和熔炼的高级解决方案 凭借其强大的有限元分析 (FEA) 和计算流体动力学 (CFD) 功能,ANSYS 可以准确预测模具内的热和流体流动行为。总之,ANSYS 是铸件凝固和熔化领域的关键工具。其全面的仿真功能、工艺优化功能、材料特性分析和用户友好的界面使其成为旨在创新和改进制造工艺的工程师不可或缺的工具。通过利用 ANSYS,各行各业可以在铸造业务中实现更高的质量、效率和成本效益,从而为先进的制造解决方案铺平道路。ANSYS是一款领先的工程仿真软件,提供强大的功能来建模和优化这些复杂的热过程,从而显著提高生产效率和质量。 阅读详情

相关推荐

西门子工业物联网云平台 Insights Hub 技术白皮书

Insights Hub是西门子公司推出的工业物联网云平台,它是一个使用开放技术的基于云架构的平台,能够为制造业企业提供物联网连接、数据分析、应用开发等一系列服务。Insights Hub的设计理念是“连接、分析和运营”,即通过连接物理设备、收集数据并进行分析,来优化工业生产的运营和管理。

可爱的刘三岁的博客 3333

discuz7.2 ie下弹出窗口出错

discuz7.2帖子管理弹出窗口在IE9下没有内容的解决方案 IE9下帖子管理弹出框不显示内容是因为ie下js获取xml出错, s = $(ajaxframeid).contentWindow.document.XMLDocument.text;无法获取内容 造成弹出的内容为空, 修改方法: 使用 s = $(ajaxframeid).contentWindow...

weixin_33921089的博客 177

ST-Link V2的隐藏技能:多通道串口调试的终极指南

本文深入探讨了ST-Link V2的多通道串口调试功能,突破传统烧录工具的限制。通过详细的硬件配置、Arduino IDE设置和实战案例,展示了如何利用SWD接口实现多通道数据监控,提升STM32F103C8T6等开发板的调试效率。文章还提供了PCB布局优化和性能调优技巧,助力开发者充分发挥ST-Link V2的潜能。

weixin_29285605的博客 355

uchome 二次开发 AJAX解析

<br />uchome 用的最多的两个函数  ajaxpost()   和 ajaxmenu() ;<br />1.  uchome ajax(局部刷新)评论部分效果分析: <br /> <br />     <br />实现:  1>  评论条数 由原来的  n 条 变成了 n+1 条<br />        2>  评论内容 从数据库中调取数据显示出来<br />        3>  评论提交成功 提示语“进行的操作完成了”。也可能是“两次操作太快,请等‘设定时间’后再试”。<br />注:用in

李木 2107

【Claude】媒体文件处理错误:PDF 与 Image 过大的检测与预处理方法 bug报错已解决

图片压缩是必须的:原始图片的 base64 会占用大量 TokenPDF 提取文本优于传图片:文本版 PDF 比扫描版更省 Token分块处理大文件:不要一次性处理整个大文件控制分辨率:800x800 通常足够 Claude 分析。

博客 6359

Dify 系列教程 | 第 6 篇:工作流入门 -- 用可视化方式编排 AI 逻辑

Dify 工作流是一个基于有向无环图(DAG)的可视化 AI 逻辑编排系统。你可以把多个处理步骤(节点)用连线串联起来,数据从起点流向终点,每经过一个节点就被处理一次。用一个类比来理解:如果单次 Prompt 调用是"一道菜",那工作流就是"一道完整的生产线" – 原材料(输入)进入流水线,经过清洗(预处理)、切配(数据转换)、烹饪(AI 推理)、装盘(格式化输出)等工序,最终产出成品。创建一个工作流类型的应用(或高级聊天类型),就会进入工作流编辑器。编辑器基于ReactFlow构建(

weixin_43674738的博客 118

discuz的页头header和页尾footer文件必要代码

页头文件路径:template/default/common/header.htmheader.htm文件二次加载的文件有:template/default/common/header_common.htm全局公共文件 |--该文件中包含了页面TITLE,对浏览器的申明,以及全局必须存在的基本代码,所以不建议新手修改此文件template/default/common/head...

weixin_38168786的博客 1383

华为OD机试 双机位C卷:微服务的集成测试 (C/C++/Py/Java/JS/Go)

华为OD机试 双机位C卷 :微服务的集成测试 ,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 微服务的集成测试 , 华为OD 微服务的集成测试

qq_45776114的博客 2066

框架的contentDocument支持问题

项目中用到了在页面中取出框架的页面地址的方法,刚开始从网上找到的用法是:var curr = frame.contentDocument.location.href, 发布后发现在低版本的IE中contentDocument为undefined,替换成contentWindow就没有问题了 。

来老师的专栏 2459

用 CORRESPONDING #( ) 优雅复制同名字段:从 MOVE-CORRESPONDING 到现代 ABAP 结构映射的关键差异与最佳实践

摘要:本文深入探讨了SAP ABAP中结构数据复制的两种主要方式——传统MOVE-CORRESPONDING与现代CORRESPONDING #()的核心差异。重点分析了现代构造表达式会初始化目标结构的关键特性,通过SAP_GWFND开发中的实际案例展示了这一差异可能引发的线上问题。同时介绍了使用BASE保留目标字段值的技巧,以及通过MAPPING处理字段名不一致的场景。文章为ABAP开发者提供了在S/4HANA、BTP及RAP等现代架构下的数据映射最佳实践,帮助规避常见的维护陷阱。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2259

【AI大模型】核心基石:Transformer架构入门通俗完整解读

文章摘要: Transformer架构是AI大模型(如GPT、Llama等)的核心基石,彻底颠覆了传统RNN/LSTM的逐字计算模式,通过自注意力机制实现全局并行运算和长文本语义理解。本文用通俗语言拆解Transformer的核心模块:位置编码保留语序、多头注意力捕捉上下文关联、掩码机制确保生成逻辑、残差连接稳定训练,并搭配极简PyTorch代码演示Decoder架构的逐字生成过程。Transformer的并行性、可堆叠性和全局注意力优势,使其成为千亿参数大模型的基础。理解Transformer是掌握大模型

unber的博客 42

uchome2.0的ajax技术流程研究心得跟大家分享

前言: 基于uchomer的插件如果没有使用ajax或flex,可以说无论如何也做不到完美的。而相比于flex,ajax使用的较多。好多插件开发者在研究uchome的ajax的使用过程中花费了不少时间,此文意在减少插件开发者的研究时间。flex相关插件的说明,敬请关注! 此文整理花了本同学4个小时以上的时间,如果版主觉得对大家有帮助,请加精!非常感谢:) 我们举日志回复为例: 一、局部

martin2350的专栏 513

96.在 Vue 3 中使用 OpenLayers 探究加载 Point、Polygon 的极限

在前端 GIS(地理信息系统)开发中,OpenLayers 作为一个功能强大的 Web 地图库,广泛用于加载地图、渲染矢量数据(点、线、面)、叠加图层等场景。然而,当涉及到。

小彭的博客 1154

uchome模板

所有内容均以uchome1.5版为准一. 原 系统模板页面简介uchome 1.5的系统模板页面主要在/templates/default目录下,命名大致分为以下几类:以cp_开头的文件(主要是用户进行数据‘操作’的模板) 以do_开头的文件 (注册、登陆等) 以network_开头的文件(主要‘显示’随便看看里 面使用) 以space_开头的文件(主要用于‘显示’用户

尚兴跃的备忘录 1228

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

uchome2.0的ajax技术流程研究心得

前言:基于uchomer的插件如果没有使用ajax或flex,可以说无论如何也做不到完美的。而相比于flex,ajax使用的较多。好多插件开发者在研究 uchome的ajax的使用过程中花费了不少时间,此文意在减少插件开发者的研究时间。flex相关插件的说明,敬请关注!此文整理花了本同学4个小时以上的时间,如果版主觉得对大家有帮助,请加精!非常感谢:) 我们举日志回复为例:一、局部刷新的部...

weixin_30423977的博客 161

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

uchome模板全解析(一)

本文分两部分:第一部分是uchome模板文件的功能说明,即每个模板页面分别表示哪个功能;所有内容均以uchome1.5版为准 第二部分是模板页面内使用的语法,用几个具体的例子来解释。 一. 原系统模板页面简介 uchome 1.5的系统模板页面主要在/templates/default目录下,命名大致分为以下几类: 以cp_开头的文件(主要是用户进行数据‘操作’的模板)以do_开头的...

weixin_30363981的博客 68

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

UCHOME2.0架构

整体架构:UCHOME2.0并不是基于跟Ucenter一样的MVC模式来开发的,而是采用多点入口模式开发的。什么叫做多点入口呢?就是说整个程序只有固定的几个入口,这几个入口文件作为调度文件,他们就像一个传达室,根据传递不同的参数,他们调用不同的文件来处理你的请求。Uchome总共有如下入口:Index.php(主要负责首页数据的显示)space.php(主要负责数据的显示)

programerwei的专栏 461

uchome ajax弹出框调用方式,ajaxmenu函数,ajaxpost提交数据

<br />如上:href就是ajax要请求的页面,直接用ajaxmenu条用即可。然 后在服务器端处理页面输出结果,如果是大量的html,可以单独做成模板页面,通过参数把大量的ajax输出合到一个页面,如果是少量的输出直 接:showmessage($mess)就可以了,注: echo $mess;是不行的,好像uchome已经对结果做了处理,没有细究!<br /> 在刚开始发现放到自己搞的页面来后不会弹出那个框,而是直接跳转了过去,原来是在自己的页面里面使用了prototype.js,并且Ajax

1092

uchome的积分机制

UCHOME2.0积分机制分析A:管理员在后台修改积分规则B:数据被写入数据表creditrule 中,其中rewardtype=1表示奖励措施rewardtype=0表示处罚措施并将数据写入缓存文件data/data_creditrule.php 中C:用户发表文章或者进行其他操作的时候,通过getreward函数来获取奖罚积分  D:然后通过SQL语句将数据写入用户数据库表space中,从而增...

weixin_33856370的博客 149

uchome 基本文件及功能介绍

1、各个模块的入口程序 space.php 个人主页、动态、心情、状态、日志、相册、话题、群组、好友、分享等主要模块的入口。并提供以上模块的初步处理、检查以及引入相关的动作代码等功能。URL格式为/space.php?do=SSS,其中do为{‘feed’, ‘doing’, ‘mood’, ‘blog’, ‘album’, ‘thread’, ‘mtag’, ‘friend’, ‘wal

我的PHP常用分享 718

uchome中ajaxmenu弹出框的使用

实例:查看收费标准href就是ajax要请求的页面,直接用ajaxmenu条用即可。然后在服务器端处理页面输出结果,如果是大量的html,可以单独做成模板页面,通过参数把大量的ajax输出合到一个页面,如果是少量的输出直接:showmessage($mess)就可以了,注:    echo $mess;是不行的,好像uchome已经对结果做了处理,没有细究!在刚开始发现放到自己搞的页面来后

尚兴跃的备忘录 1739

康盛系列产品工程师php

康盛系列产品工程师培训课程介绍: 课程主要学习PHP环境搭建、PHP基础语法、MySQL数据库、数据管理、数据库设计、数据库优化、文件管理、后台管理、缓存技术、Zend开发工具、Ajax技术、Smarty模板+ADODB、框架技术、软件工程、项目管理、Discuz!程序逻辑、模板机制、数据字典分析、二次开发、UCHome代码剖析、数据结构逻辑分析、UCHome平台应用开发,...

weixin_34101229的博客 165

uchome 在群租或是记录等处加编辑器(html+js)

<br />群组功能发帖时候增加编辑器,其实并不是很复杂,只不过我们要理解,为什么要这样修改代码。<br />*可能有些听不懂,不过不会影响修改,多学点东西总是好的吧?<br /> <br />首先,我们解析一下blog的编辑器。<br />看模板文件夹下cp_blog.htm里面的这段代码: <br /> <br />代码:<br /> <br /><textarea class=”userData” name=”message” id=”uchome-ttHtmlEditor” style=”heigh

李木 891
上一篇: CentOS系统时间与网络同步
下一篇: Discuz!登陆、退出、个人信息修改提交弹出层实现 by cubeking
ahstudy
博客等级 码龄19年 60粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值