在页面如果没有表单的提交,可以采用js脚本生成元素的方法以便生成表单进行提交数据。

//创建form元素。参数url是设定请求的地址,参数params1是json对象,只有一层结构。参数paramName是数组对应后台json数据的名字,参数params2是json数组对应的对象,存放的是json对象数组
		function postForm(url, params1, paramName, params2) {
			var tempForm = document.createElement("form");
			tempForm.action = url;
			tempForm.method = "post";
			tempForm.style.display = "none"
			//创建input元素并设置提交的数据
			if (params1) {
				for ( var x in params1) {
					var tempInput = document.createElement("input");
					tempInput.name = x;
					tempInput.value = params1[x];
					tempForm.appendChild(tempInput);
				}
			}
			if (params2 && params2 instanceof Array) {
				for (var y = 0; y < params2.length; y++) {
					for ( var z in params2[y]) {
						var tempInput = document.createElement("input");
						tempInput.name = paramName + "[" + y + "]." + z;
						tempInput.value = params2[y][z];
						tempForm.appendChild(tempInput);
					}
				}
			}
			//创建提交按钮元素  
			var tempInput = document.createElement("input");
			tempInput.type = "submit";
			tempForm.appendChild(tempInput);
			//创建完将所对应的表单删除
			document.body.appendChild(tempForm);
			tempForm.submit();
			document.body.removeChild(tempForm);
		}

		$(function() {
			postForm("${ctx}/test/users/formObject", {
				"id" : 232,
				"username" : "dwere"
			}, "students", [ {
				"id" : 3434,
				"username" : "123ere",
				"password" : "dfere"
			}, {
				"id" : 3434,
				"username" : "djfdkjfkjf",
				"password" : "45rer4545"
			}, {
				"id" : 345,
				"username" : "4ere3434",
				"password" : "656rtrt"
			} ])
		})

eclipse的代码的后端调式部分截图所示结果:

javascript post 数据 js提交post数据_js