jQuery AutoComplete (jQuery UI 1.8rc3) avec ASP.NET service web

Actuellement, j'ai cette version de la saisie semi-automatique de contrôle de travail lors du retour de XML à partir d'un .ashx gestionnaire. Le xml ressemble à ceci:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<States>
<State>
  <Code>CA</Code> 
  <Name>California</Name> 
</State>
<State>
  <Code>NC</Code> 
  <Name>North Carolina</Name> 
</State>
<State>
  <Code>SC</Code> 
  <Name>South Carolina</Name> 
</State>

La saisie semi-automatique de code ressemble à ceci:

    $('.autocompleteTest').autocomplete(
    {
        source: function(request, response) {
            var list = [];
            $.ajax({
                url: "http://commonservices.qa.kirkland.com/StateLookup.ashx",
                dataType: "xml",
                async: false,
                data: request,
                success: function(xmlResponse) {
                    list = $("State", xmlResponse).map(function() {
                        return {
                            value: $("Code", this).text(),
                            label: $("Name", this).text()
                        };
                    }).get();
                }
            });
            response(list);
        },
        focus: function(event, ui) {
            $('.autocompleteTest').val(ui.item.label);
            return false;
        },
        select: function(event, ui) {
            $('.autocompleteTest').val(ui.item.label);
            $('.autocompleteValue').val(ui.item.value);
            return false;
        }

    });

Pour diverses raisons, je serais plutôt de l'appel d'un ASP.NET service web, mais je ne peux pas le faire fonctionner. Pour passer au service (je suis en train de faire un service de proximité pour faire simple), le début de la saisie semi-automatique de code est:

    $('.autocompleteTest').autocomplete(
    {
        source: function(request, response) {
            var list = [];
            $.ajax({
                url: "/Services/GeneralLookup.asmx/StateList",
                dataType: "xml",

Ce code est sur une page à la racine du site et le GeneralLookup.asmx est dans un sous-dossier nommé Services. Mais un point d'arrêt dans le service web n'est jamais touché, et pas de liste de saisie semi-automatique est généré. Dans le cas où il fait une différence, le XML qui vient de la asmx est:

<?xml version="1.0" encoding="utf-8" ?> 
<string xmlns="http://www.kirkland.com/"><State> <Code>CA</Code> <Name>California</Name> </State> <State> <Code>NC</Code> <Name>North Carolina</Name> </State> <State> <Code>SC</Code> <Name>South Carolina</Name> </State></string>

Fonctionnellement équivalent depuis je n'utilise jamais le nom du nœud racine dans le code de mappage. Je n'ai rien vu dans le jQuery docs sur l'appel d'une .asmx service de ce contrôle, mais un .appel ajax est un .appel ajax, droit?

J'ai essayé plusieurs chemins différents pour le .asmx (~/Services/), et j'ai même déplacé le service dans la même voie afin d'éliminer ces problèmes. Pas de chance avec les deux.

Des idées?

InformationsquelleAutor akabak | 2010-03-18