Comment connecter une saisie semi-automatique à une zone de texte?

En rapport avec ceci: jquery ne va pas à l’erreur ou au succès

J’ai un ancien projet 1.1 asp.net/vb.net que je dois append à la saisie semi-automatique dans une zone de texte. J’ai écrit un fichier .asmx (le fichier de service Web) en tant que tel:

 _ Public Function GetTags() As Ssortingng() Dim arr() As Ssortingng = BindTags() Return arr End Function Private Function BindTags() As Ssortingng() Dim cmdSelect As SqlCommand Dim conMyData As SqlConnection Dim reader As SqlDataReader Dim myList As New ArrayList 'try and make a connection Try conMyData = New SqlConnection(ConfigurationSettings.AppSettings("strConn")) cmdSelect = New SqlCommand("select_tags_grid", conMyData) With cmdSelect .CommandType = CommandType.StoredProcedure 'add parameters .Parameters.Add("@SortOrder", SqlDbType.TinyInt).Value = 1 'check the clientid conMyData.Open() reader = cmdSelect.ExecuteReader(CommandBehavior.CloseConnection) End With While (reader.Read()) myList.Add(CType(reader("Tag"), Ssortingng)) End While Dim arr() As Ssortingng = CType(myList.ToArray(Type.GetType("System.Ssortingng")), Ssortingng()) Return arr Catch e As Exception 'clean up and close resources Throw e Finally cmdSelect = Nothing conMyData.Close() conMyData = Nothing End Try End Function 

Cela fonctionne bien car je peux voir les données lorsque j’exécute ce fichier .asmx. Ensuite, j’ai lu des articles sur des articles qui disaient que .net 1.1 ne supportait pas le format json / jsonp et utilisait xml. Alors je me suis embarqué du côté jQuery pour joindre cette interface utilisateur à la saisie semi-automatique à ma zone de texte. Voici ce que j’ai essayé:

 $("#txtTags").autocomplete({ minLength: 0, source: function(request, response) { $.ajax({ type: "POST", url: "GetTags.asmx/GetTags", dataType: "xml", contentType: "text/xml; charset=utf-8", success: function(xml) { alert("hi"); // Completion logic goes here }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); } }); }, }); 

Désormais, lorsque j’exécute mon application et que j’utilise par exemple Google Chrome, je ne vois aucune erreur dans la console des outils de développement lorsque je tape dans la zone de texte. Je ne suis donc pas sûr que cela fonctionne ou non. J’ai essayé de suivre cette réponse stackoverflow: https://stackoverflow.com/a/7729147/168703 pour voir comment ce gars l’a fait et je suis à peu près sûr d’avoir suivi correctement? Quelqu’un peut-il dire ce que je fais mal s’il vous plaît.

Sur les outils de chrome, accédez à l’onglet Réseau. Utilisez le bouton “Effacer” pour supprimer toutes les entrées, puis commencez à taper dans votre zone de texte. Si la fonction de saisie semi-automatique fonctionne, une entrée devrait apparaître devant vous (sur l’onglet Réseau) et un clic dessus devrait vous donner des détails sur ce qui se passe.

entrez la description de l'image ici

Dans l’exemple ci-dessus, je reçois l’appel du gestionnaire générique que j’utilise pour la saisie semi-automatique. Puisque vous êtes sur la 1.1 et que vous utilisez un service Web (si je ne suis pas bien compris), vous devriez voir l’appel du service Web ou quelque chose de similaire.