Mon code js obtient simplement un objet json de mon serveur, mais je pense qu'il devrait être automatiquement analysé et transformé en un objet avec des propriétés, mais il ne permet pas l'accès correctement.Pourquoi mon json-object d'AJAX n'est-il pas compris par javascript, même avec 'json' dataType?
$.ajax({
type: 'POST',
url: '/misc/json-sample.js',
data: {href: path}, // THIS IS THE POST DATA THAT IS PASSED IN; safe2ignore.
dataType: 'json',
success: function (datax) {
if (datax.debug) {
alert('Debug data: ' + datax.debug);
} else {
alert('No debug data: ' + datax.toSource() ) ;
}
Le fichier est /misc/json-sample.js: [{ "chemin": "examplemodule/Parent1/child1/grandchild1", "title": "Première option petit-enfant", "debug": " première option petit-enfant », "enfants": faux}]
(j'ai aussi essayé de revenir de cet objet comme suit drupal, et les mêmes résultats.) Version Drupal mISC/JSON-sample.js:
Qu'est-ce qui se passe (dans FF, qui a la capacité toSource()) est l'alerte avec 'Pas de données de débogage: [{path: "ex amplemodule/parent1/child1/petitchild1 ", titre:" Option premier petit-enfant ", debug:" Option premier petit-enfant ", enfants: false}] ' Merci
Je suis confus, vous attendez le champ de débogage dans votre objet retourné de Drupal, mais vous n'avez pas ce champ dans '/ Divers/JSON-sample.js'? Cela fonctionne-t-il si vous ajoutez le champ à votre fichier js codé en dur? –
Désolé, j'ai posté par erreur la mauvaise version du fichier json-sample.js et la sortie d'alerte. J'ai réparé ça. – pete