将前台input中的数据异步传到后台并存入数据库
将前台input中的数据异步传到后台并存入数据库
先看图:

利用ajax异步交互数据,并不是以json数组的形式将数据传到后台,而是利用字符数组的形式将其传到后台。动态新增每一行数据,将每一列对应的数据存入数组,并传到后台中进行入库。(当然可以直接以json数组的形式将每一行的数据传到后台,这里就不详细讲了)
前台js代码:
///保存多行数据,运用ajax异步交互请求
function btnSave() {
/*传值方式一:将添加的每一字段的值存在数组中,再将数组转换成字符串串传到后台*/
//定义五个一维数组
var code = new Array();
var name = new Array();
var pwd = new Array();
var phone = new Array();
var bmmc = new Array(); //将表单中的数据添加到各自的数组中
for (var i = 1; i <= rowL; i++) {
code.push($("#" + "UserCode" + i).val());//对应每个增加表单中的id相应的值
name.push($("#" + "UserName" + i).val());
pwd.push($("#" + "UserPwd" + i).val());
phone.push($("#" + "Phone" + i).val());
bmmc.push($("#" + "Bmmc" + i).val());
}
//利用js的join方法将数组分割成字符串,用于传值,在后台解析。分割符号为逗号,可自行定义。
var Code = code.join(',');
var Name = name.join(',');
var Pwd = pwd.join(',');
var Phone = phone.join(',');
var Bmmc = bmmc.join(','); //利用ajax进行传值,类型为POST
$.ajax({
type: "POST",
// dataType: "Text",
url: "UserList.ashx?Action=Save",
data: {
UserCode: Code,
UserName: Name,
UserPwd: Pwd,
UserPhone: Phone,
BmMc: Bmmc,
RowLength: rowL//将增加的行数传至后台控制for循环中的参数范围
},
success: function (result) {
if (result == "true") {
noty({ text: "保存成功!", type: "success", layout: "topCenter", timeout: 2000 });
Refresh(); } else {
noty({ text: "保存失败!", type: "error", layout: "topCenter", timeout: 2000 });
}
}
}); }
2、后台获取数据的代码:
private string HandleSaveRequest(HttpContext context)
{
string result = "False";
try
{
/*定义参数数组,获取前台数据,并解析成数组形式。运用方法split()*/
string []UserName = context.Request.Form["UserName"].ToString().Split(',');
string []UserCode = context.Request.Form["UserCode"].ToString().Split(',');
string []UserPwd = context.Request.Form["UserPwd"].ToString().Split(',');
string []Phone = context.Request.Form["UserPhone"].ToString().Split(',');
string[] BmMc = context.Request.Form["BmMc"].ToString().Split(',');
int length =Int32.Parse( context.Request.Form["RowLength"].ToString());
DUserList user = new DUserList();
MUserList Muser = new MUserList();
//将数组中的数据遍历插入数据库
for (int i = ; i <length; i++)
{
Muser.NVFID = System.Guid.NewGuid().ToString();
Muser.USERCODE = UserCode[i];
Muser.USERNAME = UserName[i];
Muser.USERPWD = UserPwd[i];
Muser.BMMC = BmMc[i];
Muser.PHONEIMEI = Phone[i];
// user.Insert(Muser);
if (user.Insert(Muser))
{
result = "true";
}
else
{
result = "False";
}
} }
catch(Exception ex)
{ }
return result; }
注意:ajax不能直接将数组直接传递到后台,所以在数组传递之前用Join()方法将数组转换成字符串,在后台获取到字符串之后再用spit()方法进行分割成数组。
将前台input中的数据异步传到后台并存入数据库的更多相关文章
- 动态input file多文件上传到后台没反应的解决方法!!!
其实我也不太清除具体是什么原因,但是后面就可以了!!! 我用的是springMVC 自带的文件上传 1.首先肯定是要有springMVC上传文件的相关配置! 2.前端 这是动态input file上传 ...
- 如何将redis中的数据导入到本地MongoDB和MySQL数据库
将redis中的数据导入到本地MongoDB数据库 创建一个process_items_mongodb.py文件(文件名自定义): #!/usr/bin/env python # -*- coding ...
- vue-awesome-swiper中的数据异步加载
<template> <div> //第一个轮播 加了v-if 判断,可以实现 loop 轮循 <swiper v-if="gglist.length>1 ...
- 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)
最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...
- input type="file"文件上传到后台读取
html页面(表单采用bootStrap) js部分: //更换头像时把上传的图片post方式到控制器 <script type="text/javascript"> ...
- 介绍ArcGIS中各种数据的打开方法——mdb(个人数据库)
3.打开存储在Access GeoDatabase的要素类 使用工作空间打开一个Access库中的一个要素类. private void OpenWorkspaceFromFileAccess(str ...
- SQL语句中如何把文件以二进制数组形式存入数据库
System.IO.FileStream fs = new FileStream("1.txt", FileMode.Open); string strConn = "D ...
- Eclipse中java向数据库中添加数据,更新数据,删除数据
前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) package com.ning ...
- OneNET麒麟座应用开发之四:数据上传测试
已经测试过OneNET麒麟座开发板了,这次来尝试与OneNET的连接和数据上传.这也是我们测试这块开发办的主要原因,因为在十几种我们有这种将分散的采集点数据上传到后台的需求. 先看看麒麟座这块开发板, ...
随机推荐
- 微软宣布.NET开发环境将开源 支持Mac OS X和Linux
微软宣布.NET开发环境将开源 支持Mac OS X和Linux 投递人 itwriter 发布于 2014-11-13 06:58 评论(55) 有4388人阅读 原文链接 [收藏] « » ...
- leetcode[73] Set Matrix Zeroes 将矩阵置零
给定一个矩阵,把零值所在的行和列都置为零.例如: 1 2 3 1 3 1 1 1 操作之后变为 1 3 0 0 0 1 1 方法1: 赋值另存一个m*n的矩阵,在原矩阵为零的值相应置新的矩阵行和列为零 ...
- jquery无缝滚动效果实现
demo如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 使用GDB调试器(一)
使用GDB调试器 GDB概要---- GDB是GNU开源组织公布的一个强大的UNIX下的程序调试工具.也许,各位比較喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但假设你是在UNIX平台下做软 ...
- RMAN duplicate from active 时遭遇 ORA-17627 ORA-12154
最近在从活动数据库进行异机克隆时碰到了ORA-17629,ORA-17627,ORA-12154的错误,起初以为是一个Bug呢.Oracle Bug着实太多了,已经成了习惯性思维了.汗!错误提示是无法 ...
- 【IOS开发】SimPholders的使用
推荐一个Xocde开发工具 “SimPholders”,能够快速访问到你的模拟器文件夹,最重要的是完全免费! 官方地址
- 解决Xcode升级7.0后,部分.a静态库在iOS9.0的模拟器上,link失败的问题
简单描述一下这个问题:我们项目中使用了Google大神开发的LevelDB键值对数据库,在Xcode6,iOS8的环境下,编译好的.a静态库是可以正常使用的.但是升级后,发现在模拟器上无法link成功 ...
- D13
=-=由于本人有极度强迫症啊.. 然后这个博客又不能改顺序.. 前几天由于台风是在宾馆写题..简直各种没有效率..所以今天就先草草写下题解,之后再完善吧 T1:字符串处理 c++的话,解决读空格继续读 ...
- [转]Creating an iPhone Daemon
ref: http://chrisalvares.com/blog/7/creating-an-iphone-daemon-part-1/ http://chrisalvares.com/blog/3 ...
- [转]Inspecting Obj-C parameters in gdb
Since the addition of i386 and x86_64 to the Mac OS’s repertoire several years back, remembering whi ...