Mise à jour du magasin type Aurora pour fractionner les clés
La fonction de fractionnement des clés peut exposer certains problèmes de code JavaScript dans les pages JSP du magasin. Les pages JSP qui ont servi à transmettre ou initialiser des variables JSTL des clés principales de l'objet (ou identificateurs) dans les variables JavaScript comme entiers peuvent être soumises à un comportement inattendu dans la vitrine.
<script>
var catentryId = <c:out value="${WCParam.productId}"/>;
</script>
Lorsque le problème concernant le fragment de code ci-dessus est que la variable JavaScript en cours d'initialisation est traitée comme un entier. Dans JavaScript, la valeur d'entier la plus élevée est 9 007 199 254 740 992. Lors du fractionnement de clés, la plage est bien plus importante, ce qui entraîne des problèmes dans le code JavaScript. Les symptômes sont que les numéros supérieurs sont susceptibles d'être ignorés et le seuil entraîne un comportement inattendu dans la vitrine. Par exemple, l'ajout d'un article au panier peut ajouter un produit inattendu dans le panier à la place.
Procédure
- L'utilisation d'une chaîne dans le code JavaScript résout ce problème. Par conséquent, l'exemple de code précédent est mis à jour sur :
où l'encapsulation de la valeur entre guillemets (") permet de s'assurer que la valeur est une chaîne.<script> var catentryId = "<c:out value="${WCParam.productId}"/>"; </script> - Si vous utilisez le fractionnement de clés et le magasin type Aurora, vous devez mettre à jour le code JavaScript en conséquence.
Les fichiers ci-dessous doivent être mis à jour :