十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、前台javascript文件
成都创新互联是一家以网络技术公司,为中小企业提供网站维护、成都网站制作、网站建设、外贸网站建设、网站备案、服务器租用、空间域名、软件开发、微信平台小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站欢迎联系:028-86922220
function saveUser() {
var userList= $('#userList').datagrid('getChecked');//userList为集合对象
$.ajax({
async : false,
traditional : true,//设置traditional 为true阻止深度序列化
type : "POST",
url : "...",
dataType : "json",
data : {
userList: JSON.stringify(userList),//使用json
},
success : function(data) {
...
}
});
});
}
2、
前台javascript文件
function saveUser() {
var userList= $('#userList').datagrid('getChecked');//userList为集合对象
$.ajax({
async : false,
traditional : true,//设置traditional 为true阻止深度序列化
type : "POST",
url : "...",
dataType : "json",
data : {
userList: JSON.stringify(userList),//使用json
},
success : function(data) {
...
}
});
});
}
2、
前台javascript文件
function saveUser() {
var userList= $('#userList').datagrid('getChecked');//userList为集合对象
$.ajax({
async : false,
traditional : true,//设置traditional 为true阻止深度序列化
type : "POST",
url : "...",
dataType : "json",
data : {
userList: JSON.stringify(userList),//使用json
},
success : function(data) {
...
}
});
});
}
2、
后台java文件
public void userAdd() {
...
JSONObject project = JSONObject.fromObject(request
.getParameter("project"));
Projects projects = (Projects) JSONObject.toBean(project,
Projects.class);// project只是一个对象,而不是集合对象
JSONArray userList = JSONArray.fromObject(request
.getParameter("userList"));
for (int i = 0; i userList.size(); i++) {
JSONObject jsonObject = userList.getJSONObject(i);
User user = (User) JSONObject.toBean(jsonObject,
User.class);
...
}
}
河南新华电脑运营解答
方法一:通过事件在html中的内联方式来传递参数(假定变量x是参数,下同):
input type="button" value="点我" onclick="var x=123;test(x);"/
script
function test(x){
alert(x);
}
/script
方法二:通过全局变量来传递参数:
input id="abc" type="button" value="点我"/
script
var x=123;
window.onload=function(){
document.getElementById("abc").onclick=function(){
alert(x);
}
}
/script
方法三:通过对象的自定义属性来传递参数:
input id="abc" type="button" value="点我"/
script
window.onload=function(){
var abc=document.getElementById("abc");
abc.x=123;
abc.onclick=function(){
alert(this.x);
}
}
/script
方法四:利用闭包:
input id="abc" type="button" value="点我"/
script
window.onload=function(){
(function(x){
document.getElementById("abc").onclick=function(){
alert(x);
}
})(123);
}
/script
暂时就想到这么多了,肯定还有其他方法的。
// 定义多个参数
function test(a,b,c){
console.log('第一个参数',a);
console.log('第二个参数',b);
console.log('第三个参数',c);
}
test('参数1','参数2','参数3');
// 参数可以是JSON对象
function test(params){
console.log('第一个参数',params.a);
console.log('第二个参数',params.b);
console.log('第三个参数',params.c);
}
test({a:'第一个参数',b:'第二个参数',c:'第三个参数'});
不懂继续问
使用JavaScript访问后台的方法,尝试了以下几种方法: 1.在%%中直接书写代码段 2.通过js直接执行button的click()方法 触发后台代码 3.Ajax 参考 在后台代码处理页面中引入要访问的方法 4.将该方法发布为webservice 通过javascript直接调用webservice. 项目中需要一次性循环生成多张密码卡,而且麻烦的地方在于,前台后台需要共享相当多的属性,通过hiddenField来传递。而每张密码卡都需要首先调用后台getTopMatrix()方法返回一个字符串,客户端获得字符串后做处理并存储至EXCEL,若此过程成功则调用另一个后台方法preToFormal()更新数据库。初步尝试的时候使用了方法一,方法一的缺点比较明显,当页面加载的时候%%中的内容被自动解析,无法实现可控的调用。 script /*直接获取返回值*/ var str_matrix="%=getTopMatrix()%"; /script 方法二解决了可控性的问题。实现步骤如下: 1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById("btn1").click(); 3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数; 具体实现代码略。 当通过click事件触发后台方法后,后台方法里面对一个HiddenField赋值.而此时前台的js代码仍在执行,需要用到这个HiddenField处理后的值。结果往往是后台没有为HiddenField赋值前台js代码已经取到这个HiddenField的值,这时候仍然是空值。而通过加计时器的方法又显得相当笨拙,且效率很低。 这个需求最终通过方法三Ajax解决,解决步骤: 1、首先发起一个Ajax请求,访问后台页面中的getTopMatrix()方法获取密码字符串,为避免方法二中的问题,采用Ajax的同步方式。 2、请求响应完毕之后,获取返回的密码字符串通过Javascript处理并存储至Excel。 3、步骤2成功之后则发起另一个ajax请求,更新数据库相关字段。