Der relevante Teil in Controller:Ajax-Aufruf zu Spring MVC Controler Bad Anfrage
@RequestMapping(value= "/makeTransfer", method = RequestMethod.POST)
public @ResponseBody String makeTransfer(Map<String, Object> model, @RequestParam int id, @RequestParam int sum, @RequestParam int ownerAccount, @RequestParam int ownerBalance, @RequestParam int receiverAccount){ ...}
Der Ajax-Aufruf (Ich versuche, alles Integer haben) ich Onclick
function transfer(obj, idd, ownerAcc, ownerbal){
var receiverAccount = parseInt($(obj).parent().find('#recAcc_field').val());
var sum = parseInt($(obj).parent().find('#sum_field').val());
var updatedSum = ownerbalance - sum;
var id = parseInt(idd);
var ownerAccount = parseInt(ownerAcc);
var ownerbalance = parseInt(ownerbal);
alert(ownerbalance);
$.ajax({
type : "POST",
url : "makeTransfer.html",
data: ({id : id, sum : sum, ownerAccount : ownerAccount, ownerbalance : ownerbalance, receiverAccount : receiverAccount}),
success : function(data) {
if (data=="success") {$(obj).closest('tr').find('#accBalance').val(updatedSum)}
else {alert("error!!")}
}
})
}
In meiner JSP rufen Sie diese Funktion:
Receiving Account: <input id="recAcc_field" type="text">
Sum: <input id = "sum_field" type="text" onblur="checkTransfer(this,${account.balance})">
<input id="transferButton" disabled type="submit" value="Transfer" onclick='transfer(this, ${personna.id}, ${account.accountId}, ${account.balance})'>
ich habe andere Ajax zu meinem Controller ruft und alles funktioniert super und mir dieser Code se ems sehr ähnlich dem code schrieb vorher was wunderbar funktioniert. Jeder Parameter meiner Javascript-Funktion sollte Integer sein, aber ich "parseInt" sie trotzdem. Was gibt die .val() zurück? Ein Integer oder ein String? (Ich weiß JavaScript ist nicht wie Java, aber ich frage mich nur). Der Fehler Ich erhalte ist: Failed to load resource: the server responded with a status of 400 (Bad Request)
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen :)
Vielen Dank @david! :) –