## nodeJs(多行数据删除) ##
由于要删除多行数据,前台就会要传多条数据到后台;
1. ajax多次发送数据到后台?
1. 一般不会用这种方法,我们要避免ajax与后台交互的次数
2. 数组的传送;
1. 把你要传的值,放到数组里,我在项目里用的方法;
2.
function checkBox(){
var tdInput=document.getElementsByClassName("tdInput")
var arry=[];
var j=0
for(var i=0;i<tdInput.length;i++){
if(tdInput[i].checked==true){
arry[j]= tdInput[i].parentNode.parentNode.firstChild.innerText
j++
}
}
return arry;
}
3. 用JSON方法传送;
1. `var id=JSON.stringify(checkBox())`
2. `xhr.open("get","/file_personalSelectInput?id="+id,true);`
3. 后台解析:
> exports.file_personalSelectInput=function(id,res){
> var sqlString="delete from new_emp_manage where id=?";
> var id=eval(id)
> for(var i=0;i<id.length;i++){
> var n=id[i];
> var conn=mysql.getConn();
> conn.query(sqlString,[n],function(err,data){
> if(data.affectedRows!=0){
> res.send("1")
> }
> })
> }
>
> mysql.close(conn);
> }
>
----------
Js中数组的一点总结:
1. 常用创建数组的方法;
1. `var arr = new Array();`
2. 操作数组的一些方法; arrayObject.xx();
1. var c=[1,2,3,4,5]
1. pop():方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
2. shift():删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined;
3. unshift():将参数添加到原数组开头,并返回数组的长度//有点不可靠;IE下测试;
4. push():将参数添加到原数组末尾,并返回数组的长度;
1. `var b = c.push(6,7); // c:[1,2,3,4,5,6,7]`
5. concat():返回一个新数组,是将参数添加到原数组中构成的
6. reverse():将数组反序;
7. slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组;
1. `var b = c.slice(2,5); //b:[3,4,5]`
8. join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
1. `var b = a.join("|"); //c:[1,2,3,4,5] b:"1|2|3|4|5"`
9. splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
由于要删除多行数据,前台就会要传多条数据到后台;
1. ajax多次发送数据到后台?
1. 一般不会用这种方法,我们要避免ajax与后台交互的次数
2. 数组的传送;
1. 把你要传的值,放到数组里,我在项目里用的方法;
2.
function checkBox(){
var tdInput=document.getElementsByClassName("tdInput")
var arry=[];
var j=0
for(var i=0;i<tdInput.length;i++){
if(tdInput[i].checked==true){
arry[j]= tdInput[i].parentNode.parentNode.firstChild.innerText
j++
}
}
return arry;
}
3. 用JSON方法传送;
1. `var id=JSON.stringify(checkBox())`
2. `xhr.open("get","/file_personalSelectInput?id="+id,true);`
3. 后台解析:
> exports.file_personalSelectInput=function(id,res){
> var sqlString="delete from new_emp_manage where id=?";
> var id=eval(id)
> for(var i=0;i<id.length;i++){
> var n=id[i];
> var conn=mysql.getConn();
> conn.query(sqlString,[n],function(err,data){
> if(data.affectedRows!=0){
> res.send("1")
> }
> })
> }
>
> mysql.close(conn);
> }
>
----------
Js中数组的一点总结:
1. 常用创建数组的方法;
1. `var arr = new Array();`
2. 操作数组的一些方法; arrayObject.xx();
1. var c=[1,2,3,4,5]
1. pop():方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
2. shift():删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined;
3. unshift():将参数添加到原数组开头,并返回数组的长度//有点不可靠;IE下测试;
4. push():将参数添加到原数组末尾,并返回数组的长度;
1. `var b = c.push(6,7); // c:[1,2,3,4,5,6,7]`
5. concat():返回一个新数组,是将参数添加到原数组中构成的
6. reverse():将数组反序;
7. slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组;
1. `var b = c.slice(2,5); //b:[3,4,5]`
8. join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
1. `var b = a.join("|"); //c:[1,2,3,4,5] b:"1|2|3|4|5"`
9. splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...