ich unten Objekt genannt habe ItemInfo in Javascript-Ajax Parameter verschlüsselt werden, wenn sie Java contoller geben
itemInfo = {
catalogId:[{"catId":"RS-122-2001","quantity":"1"},{"catId:"RS-122-2002","quantity":"1"}]
}
Ich gebe diese Aufgabe durch Ajax zu einem Java-Controller-
$.ajax({
type: 'GET',
url: '/bin/path/servlet',
dataType: 'text',
data: {
productId: itemInfo.catalogId,
operation: "addToCart"
},
success: function(obj) {
if (obj) {
//do something
}
},
error: function(request, status, error) {
console.log(request.responseText);
}
});
Wenn ich sehe, die Anforderung, seine gesendet wie this-
<<hostName>>/bin/path/servlet?productId%5B0%5D%5BcatId%5D=RS-122-2001&productId%5B0%5D%5Bquantity%5D=1&productId%5B1%5D%5BcatId%5D=RS-122-2002&productId%5B1%5D%5Bquantity%5D=1&operation=addToCart
Decoded URL-Parameter sieht aus wie this-
productId[0][catId]=RS-122-2001&productId[0][quantity]=1&productId[1][catId]=RS-122-2002&productId[1][quantity]=1&operation=addToCart
Es macht keinen Sinn in Java und übergebene Werte sind nicht lesbar. Stimmt etwas nicht mit der Implementierung? Wie kann ich übergebene Werte im Java-Controller abrufen?
ist es nur URL codieren. –
Ja das verstehe ich. Aber warum ist es codiert? und wie greife ich auf Felder in Java zu? –
https://docs.oracle.com/javase/7/docs/api/java/net/URLDecoder.html – knutesten