À partir d'un JQuery AJAX post request le serveur m'envoie une réponse qui vient de dire Bonjour, et je veux obtenir ce Bonjour comme une chaîne.IE11 interprète AJAX POST répondre en tant que chaîne, en dépit d'être tableau JSON
J'ai écrit ce code pour obtenir la valeur du texte:
var posting = $.post(
"https://server/bla",
{
input: theinput
}
);
posting.done(function(reply) {
console.log(reply);
console.log(typeof reply);
console.log(reply[0]);
}
Il fonctionne parfaitement sur Firefox 55:
Array [ "Hello" ]
object
Hello
... mais IE11 semble croire qu'il est une chaîne (même code):
["Hello"]
string
"[\"Hello\"]"
j'ai écrit une solution hackish qui utilise juste pour supprimer les sous-chaîne entre parenthèses et guillemets au beginn ing et end si la variable est une chaîne, mais ne gère pas bien les guillemets dans la réponse (Hell"o
devient Hell\"o
).
Existe-t-il une solution plus propre?
Par ailleurs, voici le côté serveur Java code:
JSONArray jsonArray = JSONFactoryUtil.createJSONArray();
jsonArray.put("Hello");
Essayez '$ .getJSON': http://api.jquery.com/jquery.getjson/ –
@JeremyThille bon plan, mais ne fonctionnera pas pour une demande POST. Essayez d'utiliser '$ .ajax' et spécifiez' dataType: 'json'' explicitement. –
@JeremyThille: C'est pour GET. Mon serveur ne gère que le POST. –