Est-il possible de convertir un objet [object Object] en JSON ?
Salut,
j'ai un FormData que j'envois via $.ajax, dans lequel je stock un objet comme suite :
Code:
1 2 3
|
fd=new FormData();
fd.append("data",{draw:"xxx",search:{value:"une valeur",regex:false},image:$("#myFile").get(0).files}); |
Quand j'essaie de le parcourir avant de l'envoyer au php :
Code:
1 2 3 4
|
for(let a of fd.entries()){
console.log("cle :",a[0],", valeur :",a[1]);//affiche : cle :data ,valeur :[object Object]
} |
Ajax :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
$.ajax({
url:"upload.php",
method:'post',
dataType:"json",
enctype:"multipart/form-data",
processData:false,//cette option et la suivante posent problème
contentType:false,
data:fd,
success:function(d){
console.log(d);
},
error:function(err){
alert(err.responseText);
}
}); |
La valeur de data est [object Object] et impossible de récupérer les valeurs de cet objet vu qu'il est de type string.
J'ai tout testé, et ni JSON.stringify() ni Array.from ne renvoient le résultat souhaité.
Le problème c'est que j'ai besoin d'envoyer le FormData en tant qu'objet JSON afin que le php puisse le récupérer en tant que array, comme ça je n'aurais plus besoin d'utiliser json_decode() en php.
Note : avec json_decode() je récupère bien les valeurs du FormData sans souci, mais je voudrais bien l'éviter si c'est possible.