【发布时间】:2016-07-23 10:45:58
【问题描述】:
弹簧控制器
@RequestMapping(value = "/login", produces="application/json;charset=UTF-8" ,method = RequestMethod.POST)
@ResponseBody
public int checkLoginInfo(@RequestParam Map<String, String> params) {
User user=new Gson().fromJson((String) params.get("user"), User.class);
return userService.getUserInfo(user);
}
HTML
var params={userid:$("#userid").val(),password:$("#password").val()}
$ajax({method:"post",data:{user:JSON.stringify(params)},url:"foo.bar"});
它在网站上工作。 但我不知道如何为 android 发送该 Json 对象。
data:{user:JSON.stringify(params)}
我已经测试过了
private static String makeJsonMsg() {
String retMsg = "";
JSONStringer jsonStringer = new JSONStringer();
try {
retMsg = jsonStringer.object()
.key("user").object()
.key("userid").value("userid")
.key("password").value("1234")
.endObject()
.endObject().toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return retMsg;
}
这样, 但返回 500 错误。 我需要添加标题或其他内容吗?
【问题讨论】:
-
错误 500 表示存在服务器端问题。您需要包含异常堆栈跟踪,没有它的代码不足以诊断问题。
标签: java android json ajax spring