SpringMVCとAjaxに問題があります。Spring ControllerにJavaScriptリストを送信しようとしていますが、送信できません。検索を行う必要があり、いくつかのパラメーターを含むリストを送信する必要があります。
質問する
5077 次
3 に答える
0
AJAX パラメータとして使用する前に、リストを JSON String に変換する必要があります。
于 2012-07-19T08:35:56.473 に答える
0
SOのこの回答は役立つかもしれません
クライアント側のjquery ajax
$.ajax({
type: "POST",
url: "submit",
data:JSON.stringify(detailsArr),
success: function(html){
alert( "Submitted");
}
});
そしてサーバー側で
@RequestMapping(value = "/search", method=RequestMethod.POST)
public String yourMethod(@RequestBody String body){
//convert body to array using JSONLib, FlexJSON or Gson
}
于 2012-07-19T08:38:03.677 に答える
0
ajax経由で送信する場合は、リストをjsonに変換する必要があります。これは春のブログ自体から:
$("#account").submit(function() {
var account = $(this).serializeObject();
$.postJSON("account", account, function(data) {
$("#assignedId").val(data.id);
showPopup();
});
return false;
});
@RequestMapping(method=RequestMethod.POST)
public @ResponseBody Map<String, ? extends Object> create(@RequestBody Account account, HttpServletResponse response) {
Set<ConstraintViolation<Account>> failures = validator.validate(account);
if (!failures.isEmpty()) {
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return validationMessages(failures);
} else {
accounts.put(account.assignId(), account);
return Collections.singletonMap("id", account.getId());
}
}
于 2012-07-19T08:28:00.317 に答える