1、按照描述,题主是想将多条数据记录提交到服务端,同时服务端将数据插入到数据库。那么思路是将多条数据存在数组中,调用post方法的接口传入后端。
2、方法如下:
var sendData = []
sendData.push({name:'david',age:'20'})
sendData.push({name:'peter',age:'23'})
3、传递数据给服务端,一般使用post方法调用接口,使用jquery,代码如下:
$.post("接口路径",sendData,function(result){
console.log(result,'发送结果')
})
扩展资料:
1、json与字符串互相转换:
JSON.parse('{"name":"karla"}')//将字符串转换为json
JSON.stringify({name:'karla'})//将json转化为字符串
2、jquery中post与get的区别:
1) $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来 进行异步请求的。
2)get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体 内容发送给Web服务器的,这种传递是对用户不可见的。
3) get方式传输的数据大小不能超过2KB 而POST要大的多。
4)GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
参考资料:百度百科-json
感觉还是有点复杂,可用。可加双引号。
<!DOCTYPE html><html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<script src="jquery-2.0.2.min.js"></script>
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
window.onload = function(){
//tabToJSON("tab")
tabToJSONForJquery("tab")
}
function tabToJSON(id) {
var trs = document.getElementById(id).getElementsByTagName("tr")//获得tr数组
var titles = trs[0].getElementsByTagName("td") //获得表头td数组
var json = ""
for(var i = 1 i < trs.length i++) {
var tds = trs[i].getElementsByTagName("td")
json += "{"
//拼装json
for(var j = 0 j < tds.length j++)
json += titles[j].innerHTML + ":" + tds[j].innerHTML + ","
json = json.substring(0, json.length - 1) + "},"
}
json = "[" + json.substring(0, json.length - 1) + "]"
document.getElementById("test").innerHTML = json
}
function tabToJSONForJquery(id) {
var titles = $("#" + id).find("tr:first td") //获得表头td数组
//遍历非表头的,tr、td...拼装json
var json = "[" + $("#" + id).find("tr:not(:first)").map(function(i, e) {
return "{" + $(e).children("td").map(function(j, el) {
return $(titles[j]).html() + ":" + $(el).html()
}).get().join(",") + "}"
}).get().join(",") + "]"
$("#test").html(json)
}
</script>
</head>
<body>
<table id="tab">
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
</tr>
<tr>
<td>val1</td>
<td>val2</td>
<td>val3</td>
</tr>
<tr>
<td>val11</td>
<td>val22</td>
<td>val33</td>
</tr>
</table>
<div id="test"></div>
</body>
</html>
重新放下JS,好难看
function tabToJSON(id) {var trs = document.getElementById(id).getElementsByTagName("tr")//获得tr数组
var titles = trs[0].getElementsByTagName("td") //获得表头td数组
var json = ""
for(var i = 1 i < trs.length i++) {
var tds = trs[i].getElementsByTagName("td")
json += "{"
//拼装json
for(var j = 0 j < tds.length j++)
json += titles[j].innerHTML + ":" + tds[j].innerHTML + ","
json = json.substring(0, json.length - 1) + "},"
}
json = "[" + json.substring(0, json.length - 1) + "]"
document.getElementById("test").innerHTML = json
}
function tabToJSONForJquery(id) {
var titles = $("#" + id).find("tr:first td") //获得表头td数组
//遍历非表头的,tr、td...拼装json
var json = "[" + $("#" + id).find("tr:not(:first)").map(function(i, e) {
return "{" + $(e).children("td").map(function(j, el) {
return $(titles[j]).html() + ":" + $(el).html()
}).get().join(",") + "}"
}).get().join(",") + "]"
$("#test").html(json)
}
Obj2str: function(o) {if (o == undefined) {
return ""
}
var r = []
if (typeof o == "string") return "\"" + o.replace(/([\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\""
if (typeof o == "object") {
if (!o.sort) {
for (var i in o)
r.push("\"" + i + "\":" + fn.Obj2str(o[i]))
if (!!document.all &&!/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {
r.push("toString:" + o.toString.toString())
}
r = "{" + r.join() + "}"
} else {
for (var i = 0i <o.lengthi++)
r.push(fn.Obj2str(o[i]))
r = "[" + r.join() + "]"
}
return r
}
return o.toString().replace(/\"\:/g, '":""')
}