7
votes

Appelant le service ASMX à l'aide de jQuery Ajax ASP.NET 4.0

J'essaie d'appeler un exemple de service asmx à l'aide de jQuery, voici le code JQuery xxx

Ceci ne figure aucun message, le code est dans ASP.NET 4.0, Est-ce que je manque de quoi?

EDIT - J'ai changé le type de données en XML, la fonction de réussite fonctionne maintenant son retour après XML xxx

J'utilise le code suivant pour analyser les données XML et il montre null en alerte xxx


1 commentaires

essayez d'ajouter complet: fonction (x, y, z) {} et voir ce qui est retourné


5 Réponses :


1
votes

Eh bien, vous déclarez que le type de données est JSON, mais le contenu de contenu est XML. Essayez xxx

sinon, alors nous devrions voir le code ASMX.


0 commentaires

6
votes

Je crois que c'est parce que vous avez le type de données: "JSON" et on s'attend à ce que le type de contenu de réponse soit identique mais XML est renvoyé. Je parie que l'événement complet est en train d'être soulevé mais pas de succès.

Essayez xxx

mise à jour

Je pense que c'est parce que vous utilisez .html ( ), vous devez utiliser du texte (). De plus, je ne sais pas si vous vouliez le faire ou non, mais vous avez data dans votre alerte, je suppose que vous avez voulu utiliser eData . Ce qui suit a fonctionné pour moi: xxx


4 commentaires

Vous l'avez eu, en cours d'événement, j'essaie d'analyser xml comme "eData = $ (données) .Find (" chaîne "). HTML ();" Il retourne null.


Je définit le type de données comme XML, maintenant le succès fonctionne, mais maintenant une erreur est en analyse XML.


Vous obtenez une erreur d'analyse du XML? Qu'est-ce que vous utilisez pour analyser le XML? Peut-être mettre à jour votre question pour inclure la réponse XML afin que nous puissions le tester.


Merci Buddy, en utilisant du texte () au lieu de HTML résoudre le problème.



2
votes

Je vous recommanderais d'ajouter l'attribut [scriptservice] à votre classe.asmx Class afin qu'il accepte et répondra à JSON au lieu de XML. Votre code client a l'air bien, mais vous voudrez consulter "Data.D" au lieu de "Données" dans votre gestionnaire de succès.


0 commentaires

2
votes
  use it.

   <script>
        alert("aaa");
    $.ajax({
        type: "POST",
        url: "MyService.asmx/HelloWorld",
        data: "{}",
        dataType: "xml",
        contentType: "application/xml; charset=utf-8",
        success: function (data) {
        alert(data);//data-object xmldocument
        edata = $(data).children("string").text();
        alert(edata);

        }
    });
    alert("bbb");
    </script>

0 commentaires

0
votes

NO HAY NECESIDAD DE COLOCAR "CONTENUTYPE", TE MUESTRO UN EJEMPLO:

// AJAX P>

[WebMethod]
        public String data(string txtusuario, string txtContra)
        {
            //Acceso acc = new Acceso();
            return "la data funciona correctamente usuario: "+txtusuario+" 
            contraseña: "+txtContra;
        }


0 commentaires