问题:
1、sevlet中获取不到正确的参数值
2、sevlet回传的json值也获取不到
html中:
<input type="submit" id="login" value="登录" onclick="checkLogin();return false;">
js中:
$.ajax({
type : "post",
dataType : 'application/json',
url : "./servlet/login.action",
data : JSON.stringify(GetJsonData()),
success : function(data) {
var dataObj = data.person,
con = "";
$.each(dataObj, function(index, item) {
console.log(item.name); //1、这里没有结果
});
}
});
}
function GetJsonData() {
var perjson = {
"name" : $("#name").val(),
"psw" : $("#psw").val()
};
return perjson;
}
另外我在network中查看数据:{"name":"sa","psw":"sa"}: 这里后面有一个冒号,不知道是不是原因,也不知道从哪里来的
User类:
package com.junzhang.myblog.entity;
public class User {
private int id;
private String name;
private String psw;
public User(){
}
public User(int id, String name, String psw) {
this.id = id;
this.name = name;
this.psw = psw;
}
public User(String name, String psw) {
this.name = name;
this.psw = psw;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPsw() {
return psw;
}
public void setPsw(String psw) {
this.psw = psw;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
}
servlet中:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json");
PrintWriter out = response.getWriter();
System.out.println("enter");
String name = request.getParameter("name");
String psw = request.getParameter("psw");
System.out.println("name:" + name); //2、null,这里获取不到
System.out.println("psw:" + psw); //null,这里获取不到
// JSON对象
response.setContentType("application/json");
response.setContentType("text/xml;character=utf-8");
response.setHeader("Cache-Control", "no-cache");
try {
User p = new User("小张", "123456");
User p1 = new User("小王", "123");
List<User> list = new ArrayList<User>();
list.add(p);
list.add(p1);
JSONArray json = JSONArray.fromObject(list);
JSONObject jb = new JSONObject();
jb.put("person", json);
out.write(jb.toString()); //这里利用的第三方net.sf.json.JSONObject,但是回去的json数据,ff浏览器说是不良好的格式
} catch (Exception e) {
e.printStackTrace();
}
out.flush();
out.close();
}