互联网服务办公自动化

优化用户体验 ajax实现局部刷新提交数据

N年前的代码。。。

页面上域值得变动会改变流程上人员的审批,所以页面域变更 , 页面就唰唰唰。。体验太low

故 想用ajax来实现局部刷新的效果,现在有几个问题需要问下  


1:之前的写法是button的 @Command(agentname) 提交数据,代理里面session来取得当前db 和当前文档doc        那么我想问 如果换掉ajax post代理,当前文档的信息如何获取


2:其次 一个button里面若写了三个代理方法的调用,难道post我需要来三个? 不知道大神们有什么好的办法优化么?

参与14

4同行回答

llwang1llwang1软件开发工程师tttt
因为元素需要将将页面元素都传入到代理中在代理中返回的数据还未写入到元素中function getdepnofresh(){ // 通过 form 的 id 取得 form var $form =$(\"form:eq(0)\"); //var $form = $(\"form:first\"); // 很关键 var url=\"../getdata?openagent\"; // 得到 form 的...显示全部

因为元素需要将将页面元素都传入到代理中

在代理中返回的数据还未写入到元素中

function getdepnofresh(){ // 通过 form 的 id 取得 form var $form =$(\"form:eq(0)\"); //var $form = $(\"form:first\"); // 很关键 var url=\"../getdata?openagent\"; // 得到 form 的提交路径 //url = $form.attr('action'); // 以 post 方式提交, 回调函数function 返回 data   $.post(    url    ,$form.serialize()    ,function(data) {

       //alert(\"Data Loaded: \" + data);  //返回数据赋值到表单上     }           ); }



以下是代理取ajax传入表单的所有数据

Set curdb = session.Currentdatabase Set CurDoc=s.Documentcontext If CurDoc.HasItem(\"Request_content\") Then   postdata=CStr(CurDoc.GetItemValue(\"Request_content\")(0))   'MsgBox \"postdata-->\"+postdata      Call F.PrintLog(CStr(postdata))   '获取id   id=GetParameter(\"fycompany_Show\",postdata)      '获取demo   demo=GetParameter(\"SubName\",postdata)   'MsgBox \"SubName->\"+demo        ItemArrName = GetParameter(\"ItemArrName\",postdata)

End sub

Function GetParameter(strParamName As String, strQuery As String) As String         Dim i As Integer         Dim s As String         Dim v As Variant                GetParameter = \"\"         '如果转的值每个字符不是&,则添加进来   If Left(strQuery,1)<>\"&\" Then    strQuery=\"&\" +strQuery   End If            i = InStr(UCase(strQuery),\"&\" & UCase(strParamName) & \"=\")         If i <> 0 Then                 s = StrRight(Mid(strQuery, i),\"=\")                 If InStr(s, \"&\") Then                         s = StrLeft(s, \"&\")                 End If                 v = Evaluate(\"@UrlDecode(\"\"Domino\"\"; \"\"\" & s & \"\"\")\")                 GetParameter = CStr(v(0))         End If End Function

收起
互联网服务 · 2017-07-06
浏览1683
yuxiaoxuyuxiaoxu软件开发工程师上海理想
dom获取前端数据,AJAX提交数据时作为参数提交过去再去解析并返回结果。热点执行代理,当前表单等于提交过去刷新。体检确实不好。显示全部

dom获取前端数据,AJAX提交数据时作为参数提交过去再去解析并返回结果。

热点执行代理,当前表单等于提交过去刷新。体检确实不好。

收起
软件开发 · 2017-06-29
浏览1636
宇山宇山其它失业中。。。
简单的哦。使用后台代理执行,并将结果返回(xml或者json),前台使用JS获取代理返回数据就可以了。显示全部

简单的哦。使用后台代理执行,并将结果返回(xml或者json),前台使用JS获取代理返回数据就可以了。

收起
互联网服务 · 2017-06-26
浏览1699
clockmakerclockmaker项目经理
用JS获取啊,文档里的域都是input控件。显示全部

用JS获取啊,文档里的域都是input控件。

收起
软件开发 · 2017-06-26
浏览1650

提问者

llwang1
软件开发工程师tttt
擅长领域: JVM中间件系统管理

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-26
  • 关注会员:4 人
  • 问题浏览:3158
  • 最近回答:2017-07-06
  • X社区推广