Comment définir une variable à un AJAX données de réponse?

Je suis à l'aide de jQuery et j'ai le code suivant:

var result = [];

if ( some_condition ) {
  result = [...]
} else {
  $.ajax({
    url:      some_url,
    data:     some_data,
    dataType: 'json',
    success:  function(data) {
      items = data
    }
  });

  result = items
}

//Playing with the 'result' variable...

Le code ci-dessus génère l'erreur "items is not defined" quand some_condition est false (je pense qu'il arrive parce que l'étendue de la variable n'est pas correct).

Je voudrais configurer result variable à l'AJAX données de réponse, mais je ne sais pas comment résoudre le problème.


Note: je suis en train de le faire parce que je voudrais utiliser la result variable à l'extérieur la if ... else déclaration (qui est, après la if ... else énoncé dans le code ci-dessus).

Rappels asynchrones, regarder.
Vous devez déclarer var éléments de même que la variable de résultat avant la condition
essayez var items = data
Pouvez-vous me donner un exemple?
En définissant la async: false option pour le $.ajax permet de travailler, mais c'est la async: false obsolète?

OriginalL'auteur user12882 | 2012-11-23