0 votes

JSON undefined parsererror (erreur d'analyse non définie)

J'essaie d'exécuter une méthode Web ASP.NET 2 avec JSON Voici mon code :

<head>
<title></title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {

        $("#btGetDate").click(function () {
            $.ajax({
                type: "POST",
                url: "GetDate.asmx/HelloWorld",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    alert(0);
                },
                error:
               function (XMLHttpRequest, textStatus, errorThrown) {
                   $('div#dvDate').html( errorThrown + textStatus);
               }
            });

        });
    });
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="dvDate"></div><input id="btGetDate" type="button" value="Get Date" />
</div>
</form>
</body>
</html>

Et le webservice

namespace AJAX_METHODS
{
    /// <summary>
    /// Summary description for GetDate
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]

    public class GetDate : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }

        [WebMethod]
        public string GetDateTime()
        {
            return DateTime.Now.ToString();
        }
    }
}

Je reçois une erreur d'analyse en retour, je ne sais pas pourquoi.

Merci pour les réponses.

3voto

Darin Dimitrov Points 528142

Vous avez oublié d'indiquer que ce service doit renvoyer du JSON en le décorant avec la balise [ScriptService] attribut :

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class GetDate : System.Web.Services.WebService

1voto

Skilldrick Points 33002

Une chaîne de caractères nue n'est pas un JSON valide. Voir json.org .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X