Ich versuche, eine Reihe von Zahlen durch POST, die Rohdaten an den Server gesendet werden, abzurufen:Java Jersey erhalten POST Array
bucket2=0&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&buckets%5B%5D=6&bucket1=0&currPlayer=0&bucketID=0
diese enthält ein Eimer Array = [6, 6, 6, ...], von der JavaScript-Konsole:
Object { bucket2: 0, buckets: Array[12], bucket1: 0, currPlayer: 0 }
schreiben ich den folgenden Code verwenden:
$.ajax({
type: "POST",
url: baseUrl + "move",
data: game,
success: function(data) {
// console.log(data);
update(data);
}, error: function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
});
Und meinen Server-Code ist:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
@Path("/move")
public String move(@PathParam("currPlayer") int currPlayer,
@PathParam("bucket1") int bucket1,
@PathParam("bucket2") int bucket2,
@PathParam("buckets") List<Integer> buckets,
@PathParam("bucketID") int bucketID){
System.out.println("currPlayer: " + currPlayer);
System.out.println("bucket1: " + bucket1);
System.out.println("bucket2: " + bucket2);
System.out.println("buckets: " + buckets);
System.out.println("bucketID: " + bucketID);
return "";
}
Mit dem Server ausgegeben wird:
currPlayer: 0
bucket1: 0
bucket2: 0
buckets: []
bucketID: 0
Warum ist es nicht die Array-Werte erhalten?
EDIT: Ich habe versucht, @FormParam verwenden, bevor dieses Thema zu schaffen, aber es funktioniert immer noch nicht
Ich habe versucht @ FormParam aber es funktioniert immer noch nicht – rj93
@ rj93 überprüfen Sie meine aktualisierte Post. –
jQuery kümmert sich um die Konvertierung, also nicht sicher, was man dagegen tun soll. Trotzdem danke. – rj93