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"
]

所以,可以一键获取表单并提交,非常方便。


参考技术A params 可以是字符串也可以是Map格式的数据,
在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参数删除,再试一下;
原理就是这样的;

参考技术D 用url传参的方式呀,A=V1&&B=V2,这样就可以了!追问

能说明白点嘛,或者给个例子

追答

前台大致就这么配的,后台的话,你用的 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类中获取的主要内容,如果未能解决你的问题,请参考以下文章

jquery ajax怎么通过header传递参数

JQuery中$.ajax()方法参数详解 ASP.NET jquery ajax传递参数

jquery中ajax的写法

Javascript-- jQuery Ajax应用

jQuery的ajax详解

jQuery中$.ajax()方法参数解析