Hy男。JsonオブジェクトをSpringコントローラに送信
私は、これは私はAjaxの機能を経由して春のコントローラに送信するためのオブジェクトを作成するコードを、JSあります
$('#eventsdatageneral').on('click', '.btn.btn-info', function(event)
{
var today_date = new Date().getTime();
var dataToSend = new Object();
dataToSend.dateToSend = today_date;
dataToSend.nameToSend = host_name;
dataToSend.typeToSend = type_name;
console.log(dataToSend);
event.preventDefault();
//here starts the code to sending data to Spring controller
$.ajax({
url: "../todaydatarecover.json",
type: "post",
data: dataToSend,
success : function() {
console.log("Invio riuscito.");
//console.log(moment(today_date).format('DD/MM/YYYY'));
}
});
});
これはコントローラです:
@PostMapping(value="/todaydatarecover.json")
@ResponseBody
public ModelAndView todayInfoAndIdRecover(ModelAndView model, HttpServletRequest request,
@RequestParam(name="dateToSend", required=false) long dateInBox,
@RequestParam(name="nameToSend", required=false) String nameInBox,
@RequestParam(name="typeToSend", required=false) String typeInBox) throws IOException
{
//First of all, we invoke getinfo methods to take info and id
Timestamp date = new Timestamp(dateInBox);
Events event = networks.getInfoandId(nameInBox, typeInBox, date);
//Second, we put this list in the model and set properties for jquery datatables
model.addObject("data", event);
//Verify id and info
System.out.println("The info is: " + event.getInfo());
System.out.println("The id is: " + event.getId());
//Finally, we return the model
return model;
}
私が実行しようとすると、私はorg.springframework.dao.EmptyResultDataAccessExceptionIncorrect result size: expected 1, actual 0
を手に入れました。しかし、私はMySQLクライアントを介してDBを照会する場合、私は問題なく正しい結果を得ることができます。したがって、実行するクエリに一致する行があります。この問題は、Jsonオブジェクトをどのように作成するのか、それともコントローラに送信するのかという問題になると私は考えています。
私のエラーは何ですか?
、それはリクエストのボディにあります、あなたは' @のRequestParam'を使用してデータを取得することはできません。 '@ RequestBody'を使用し、3つの変数を使ってオブジェクトを作成してオブジェクト化する必要があります。例: '... todayInfoAndIdRecover(@RequestBody TodayData todayData ...'。 – Thoomas
'POST'が必要なのか' GET'が必要ですか?あなたは 'AJAX'から本文にリクエストを送り、' @ReqeustParam 'サーバー側では動作しませんが、これはうまくいきません.GETを使用したい場合は可能です。 –
@Rossi Robinson投稿が必要です –