js 里的action 怎么向后台传递参数?

JavaScript033

js 里的action 怎么向后台传递参数?,第1张

通过form 表单和隐藏域传值

<script>

var fjmc=window.parent.document.all.fjmctext.value

document.getElementByIdx_x_x_x("aaa").value = fjmc

myForm.action="collectionSendToExcel.action"

myForm.submit()

</scritp>

<form action="#" id="myFormToExcel" name="myFormToExcel">

<input type="hidden" name="fjmc" id="aaa" />

<input type="text" name="action" />

<input type="submit" value="提交'>

</form>

通过Ajax传递:

function commit(){

var myMask = new Ext.LoadMask(Ext.getBody(), {msg: '正在提交数据,请稍后...'})

myMask.show()

Ext.Ajax.request({

form: 'myForm',

method: 'post',

success: function(response, option){

myMask.hide()

var results = Ext.util.JSON.decode(response.responseText)

var msgs = '【承兑保证操作成功!】'

switch(results.type){

case '1':

msgs = '【保证人账号不能为空,操作失败】'

break

case '2':

msgs = '【访问数据库发生异常,操作失败】'

break

}

Ext.Msg.show({

title:'信息提示',

modal:false,

msg: msgs,

buttons: Ext.Msg.OK,

fn:function(btn,text){

if(btn == 'ok'){

if(results.success){

comBack(g('SBillType').value)//返回列表

}

}

},

animEl: 'elId',

icon: Ext.MessageBox.INFO

})

},

failure: function(response,option){

myMask.hide()

Ext.MessageBox.alert("信息提示","【提交数据超时,请稍候再试...】")

}

})

}

还有就通过jquery 的ajax

var fjmc=window.parent.document.all.fjmctext.value

Ext.Ajax.request({

url : 'messageReport.action?' + param ,

method : 'post' ,

success : function(response){

var result = Ext.util.JSON.decode(response.responseText)

if(result.flag == 'success'){

Ext.Msg.alert('系统提示',result.msg,function(){

Ext.getCmp('requisitionGridId').getStore().reload()

})

}else{

Ext.MessageBox.alert('系统提示',result.msg,function(){

Ext.getCmp('requisitionGridId').getStore().reload()

})

}

}

})

})

-----------------------------------------------------------------------------------------

第四种方式:

<script type="text/javascript">

function collectionSendToExcel(){

var billNo=document . getElementById('billNo').value

var SOrgCode=document.getElementByIdx_x("SOrgCode").value

var account=document . getElementById('account').value

var SCustBankCode=document . getElementById('SCustBankCode').value

var operType=document . getElementById('operType').value

location.href="collectionSendToExcel.action?querybean.billNo=" + billNo+"&customer.SOrgCode"+SOrgCode+"&account.SAccountNo"+account+"&account.SCustBankCode"+SCustBankCode

}

</script>

如标题描述,最近关于这个gerrit的submit type的设置引起了一个问题,我大概模拟了下开发的提交场景,如下:

开发A和开发B都在修改仓库repo_test的代码,开发A修改test1.txt 然后提交到gerrit上,并在gerrit上合入了这个提交(commitA),开发B没有执行git pull, 直接修改了test2.txt, 这个test2.txt和test1.txt没有任何关联性,是完全不相关的模块,然后开发B提交gerrit,然后gerrit上合入了这个提交(commitidB),此时,由于开发B的这个提交相对服务器少了开发A的改动提交,就自动生成了一条merge(叫commitB+吧),比如如下:

以上,B+是自动生成的merge,这个自动merge的记录在gerrit上是看不到的,真正的修改是在B,所以开发在gerrit上找到B,让我(职位:CM)在B节点标记tag,我在B标记tag后打包(我执行git checkout B),发现没有A的修改了,这就出问题了!!!但是git checkout B+就有A的提交!!

然后发现,是因为开发B没执行git pull ,没把A的改动带进去,所以提交的时候就自动产生了这个merge的提交记录,话说,使用rebase就不会产生,但是怎么搞呢?

然后发现了gerrit的submit type 可以控制:

默认的是“Merge if Necessary”, 这个就是在有差异的时候自动生成一条merge记录

所以换成“Rebase if Necessary”,这个会自动rebase,不会自动产生merge记录

如下是gerrit换成“rebase if Necessary”的提交记录:

STM32 对内部FLASH读写接口函数(转)

ymodem协议c实现(转)

STM32启动模式及API(转)

Keil STM32调试,使用ST-Link下载程序时提示“flash timeout.reset the target and try it again”

UVA 11020

LeetCode Maximal Square

Android中的消息机制

关于DPM(Deformable Part Model)算法中模型可视化的解释

Node.js能够做什么?

hdu 1071 The area

Linux经常使用命令(九)

[ACM] hdu 4248 A Famous Stone Collector (DP+组合)

linux程序设计——个人总结

poj3252-Round Number 组合数学

QML与C++交互:登陆界面设计

delphi2010发送邮件—中文显示为乱码解决

WCF探索之旅(五)——WCF与WebService的异同

数据库备份还原,日志清理代码

【Android】自己定义View、画家(画布)Canvas与画笔Paint的应用——绘图、涂鸦板app的实现

Berkeley DB基础教程

SSL和SSH的差别

在了解husky之前,我们需要先了解一下Git Hooks。Git Hooks是git提供的一些回调,在对应的git阶段,执行配置的脚本。

工作流钩子主要为以下4个,执行顺序 pre-commit >prepare-commit-msg >commit-msg >post-commit :

husky 的原理是在 .git/hooks/ 目录下各个钩子文件中添加以下脚本,并读取package.json中的配置,放在对应的钩子中执行:

npm安装完husky后,我们通过在 package.json 中配置,使git在 commit-msg 钩子后执行 bin/check-commit-msg.js :

bin/check-commit-msg.js 内容如下,非0值退出,Git将放弃提交: