jquery ajax 方法中传递的data参数,如何在java类中获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery ajax 方法中传递的data参数,如何在java类中获取相关的知识,希望对你有一定的参考价值。
var params = $("input").serialize();
11. $.ajax(
12. // 请求的url
13. url : "jsonAction.action",
14. // 发送方式
15. type : "post",
16. // 接受数据格式
17. dataType : "json",
18. // 要传递的数据
19. data : params,
20. // 回传函数
21. success : querydata
23. );
24. );
25. );
data指的是19行的参数
var params="username="+"1";
$.ajax(
type : "POST", //数据发送方式
url : "../servlet/clearCache",
dataType : "json", //接受数据格式 (这里有很多,常用的有html,xml,js,json)
data:params,//'date='+new Date(), 要传递的数据
success : function(msg)
//console.info(data);
alert(msg.message);
,
error : function ()
alert("请求出错!");
);
例如:
var username="niudun";
var password="123";
params="username="+username+"&password="+password;
后台取得:
String username=request.getParameter("username");
String password=request.getParameter("password");
扩展资料:
Jquery.Ajax()的data参数类型
类似“uname=alice&mobileIpt=110&birthday=1983-05-12“”这样的字符串。
除了这三种类型,还可以是JSON字符串,形如:
"name": "uname", "age": 18
注意,这个地方不是json对象,是json字符串,字符串,这样,在后台就可以直接注入到对象中。
当你需要向后台提交一组对象时时,json字符串的好处就体现出来了(对象数组)一般都是用post方法传递参数。
在jquery的ajax函数中,可以传入3种类型的数据:
1.文本:"uname=alice&mobileIpt=110&birthday=1983-05-12"
2.json对象:uanme:'vic',mobileIpt:'110',birthday:'2013-11-11'
3.json数组:
[
"name":"uname","value":"alice",
"name":"mobileIpt","value":"110",
"name":"birthday","value":"2012-11-11"
]
所以,可以一键获取表单并提交,非常方便。
在action获取参数:
比如:params="name=hh&password=123";
那么在action中 私有属性name 和password 可以获取值(struts2&&属性必须要有get set 函数)
比如:var user=name:'hh',password:'123';
params=user:user;
这样可以在action中用user类来接受数据 user属性必须有getset函数, 参考技术B 后台类是通过request.getParameter(参数名)来取得参数值的
在你的这个里面就应该是request.getParameter("data")取出的值就是"params" 参考技术C params 实际是就是一key-value串,比如 name=fangll&age=22;
可以先 alert(params);看看key是什么;
在java action 中 就是接收参数;
private String name;
private String age;
对应的get,set方法就可以了;
当然直接用 String name = request.getParameter("name"); 也是可以的追问
我用的是String name = request.getParameter("name");
但是却获取不到值,不知道是什么原因
1. 检查一下params是否有对应的key;
2. 检查一下params中key对应的value是否本身就是空的;
alert时都有值
追答仔细检查一下细节,比如你提交的url是正确的吗?
把dataType参数删除,再试一下;
原理就是这样的;
能说明白点嘛,或者给个例子
追答前台大致就这么配的,后台的话,你用的 struts2还是webwork2,在action中定义你需要提取的参数,加上get/set方法,然后调试下程序,看看能不能取到数据吧!
我的QQ:459933958
jquery中ajax的写法
方法一: $.ajax(url,data,fn);
$(‘#btn‘).click(function(){
$.ajax({
url:"112.json",
type:"post",
data:{
//传递参数
},
success:function(res){//res表示是否与服务器连接成功
console.log(res);//json中的数据
if (res.status == ‘ok‘) {//当状态为ok时,显示json中的数据
console.log(res.datas[0].name);
}else{
alert(‘没有相关数据‘);
}
},
error:function(e){
// 抛弃异常
}
});
});
112.json中的内容
{
"status":"ok",
"datas":[
{"name":"lxs","age":"111"},
{"name":"ssx","age":"1222"}
]
}
方法二:
$.post(URL,data,callback);
$.post("112.json",{
"activeName":activeName,
"sels":sels,
"sels2":sels2,
"start":start,
"end":end
},function(res){
if (res.message == ‘0‘) {
alert(‘成功‘);
// 向tbody中添加数据
}
});
方法三:$.get(url,callback);
$(‘#btn‘).click(function(){
$.get("112.json",function(res){
if (res.status == ‘ok‘) {
alert(‘成功‘);
// 向tbody中添加数据
}
});
}
HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
- GET - 从指定的资源请求数据
- POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据
jquery中的详细ajax传数据中get与post的区别比较:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
以上是关于jquery ajax 方法中传递的data参数,如何在java类中获取的主要内容,如果未能解决你的问题,请参考以下文章