参考: www.cnblogs.com/luzhanshi/p…
1.json格式用 JSONObject 接收
@ResponseBody@PostMapping("/sendFile")
public void sendFile(@RequestBody JSONObject jsonObject) {
JSONArray ips=jsonObject.getJSONArray("ips");
String version = jsonObject.getString("version");
2.用对象或者list 接收参数.
默认传入js对象和Java 后台接收对象属性相同即可
dataType:"json",
data: JSON.stringify({ "AlbumName": "shanghai", "Entered": "5/9/2013" }),
3. 用Map接收ajax参数:
var map = '{"account":"' + account + '"}';
//设定一个事件触发ajax
$.ajax({
type : 'POST',
contentType : 'application/json;charset=utf-8',
url : "/",
processData : false,
dataType : 'json',
data : map,
success : function(data) {
Java端接收:
public @ResponseBody Integer ajaxDemo(@RequestBody Map map) {
或者:
var CurrentQueryInfo = new Object();
CurrentQueryInfo.name = $("#currMetaFileName").val();
CurrentQueryInfo.nameL1 = $("#nameL1").val();
$.ajax({ //注意这里不指定 dataType 为json
type: "post",
url: "/getMetadatasCreateL1.do",
data: CurrentQueryInfo,
async: false,
success: function (data) {
public MetadataCreate4Return getMetadatasCreateL1(@RequestParam Map<String, String> map) {
var CurrentQueryInfo = new Object();
CurrentQueryInfo.start = start;
CurrentQueryInfo.end = end;}
function initAsyncPagination(id) {
var $el = $('#' + id); // 请求接口
function makePagination(curNum, selectedNum) { // 第几页,每页条数
getQueryInfo((curNum - 1) * selectedNum, selectedNum);
$.ajax({
type: "post",
url: "/getMetadatasCreate.do",
data: CurrentQueryInfo,
async: false,
success: function (data) {
相同name 在input表单中, 在action是可以通过 request获得name对应数组的 尝试没有通过
$.ajax({
url: "/editMetaL1TabSave.do",
type: "POST",
data:$("form").serialize(),
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
dataType: 'json',
使用formData类序列化form表单所有待提交label
// 获取页面已有的一个form表单
var form = document.getElementById("myForm");
// 用表单来初始化
var formData = new FormData(form);
// 我们可以根据name来访问表单中的字段
var name = formData.get("name"); // 获取名字
var psw = formData.get("psw"); // 获取密码
// 当然也可以在此基础上,添加其他数据
formData.append("token","kshdfiwi3rh");
获取数据,打印数据, set append 增加formdata内容, 多个相同name如何传递??
//提交前打印所有formData参数, action层获取参数 request 和默认javabean,或者Map
for (var [a, b] of fd.entries()) {
console.log("参数fd."+a, "="+b);
}
//通过append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾
formData.append("k1", "v1");
formData.append("k1", "v2");
formData.append("k1", "v3");
获取值时方式及结果如下
formData.get("k1"); // "v1"
formData.getAll("k1"); // ["v1","v2","v3"]
JS replace()方法替换变量(可以对变量进行全文替换)
转至:blog.sina.com.cn/s/blog_6552…
我要用 JS 替换一个多行文本的关键字 正常,没有变量的时候应该是这样: 把 a 替换成 b: string.replace("a","b"); 以上只能替换第一个匹配的,要全文匹配应该用正则表达式: string.replace(/a/g,"b"); 正则加个参数 g ,表示全文匹配。 但现在,我要替换的不是 a 这个字符了,而是从外面传进来的一个变量: var key; 我可以这么写: string.replace(key,"b"); 这只能替换第一个匹配的,要全文匹配就遇到难题了: string.replace(/key/g,"b"); 这样写是不行的,变量 key 传不到正则里面去。。。头疼啊 于是我在网上找啊找。 我先找 replace 替换变量,有说用加号拼接正则的,好像也失败了。。。看得我晕晕乎乎的。 我无意中发现 java 有个 replaceAll() 方法,我想如果可以这样不就好了吗: string.replaceAll(key,"b"); 这样就不用正则了,变量就能进去了。 然后发现 JS 里没有 replaceAll() 这个方法。。 我靠,,然后我又查 JS 怎么能够实现 replaceAll 这个方法,网上各种自己写函数啊,,看得我也晕晕乎乎的。 后来我的思路又回到了怎样把变量传到 replace() 方法里面去。 哎~功夫不负有心人,看到一篇文章: www.jb51.net/article/402… 文章的最后,给出了 JS 里面正则表达式的另一个使用方法,那就是: string.replace(new RegExp(key,'g'),"b"); 这里,利用 JS 的 RegExp 对象,将 g 参数单拿了出来,同时,正则的内容可以用变量来代替了!!!! 干的漂亮!!!!