J'essaie d'envoyer un objet JSON à un webservice asp.net.
Mon json ressemble à ceci :
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
J'utilise json2.js pour filtrer mon objet JSON.
et j'utilise jquery pour l'envoyer à mon webservice.
$.ajax({
type: "POST",
url: "/webservices/PodcastService.asmx/CreateMarkers",
data: markers,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert(data);},
failure: function(errMsg) {
alert(errMsg);
}
});
J'obtiens l'erreur suivante :
Primitive JSON non valide
J'ai trouvé un tas de messages à ce sujet et il semble que ce soit un problème très courant, mais rien de ce que j'essaie ne résout le problème.
Lorsque firebug voit ce qui est posté sur le serveur, cela ressemble à ceci :
markers%5B0%5D%5Bposition%5D=128.3657142857143&markers%5B0%5D%5BmarkerPosition%5D=7&markers%5B1%5D%5Bposition%5D=235. 1944023323615&markers%5B1%5D%5BmarkerPosition%5D=19&markers%5B2%5D%5Bposition%5D=42.5978231292517&markers%5B2%5D%5BmarkerPosition%5D=-3
La fonction de mon webservice qui est appelée est la suivante :
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}
0 votes
L'"échec" n'est pas fourni comme paramètre possible parmi ceux énumérés dans la liste de l'UE. api.jquery.com/jQuery.ajax ...vous avez peut-être confondu avec le mot "erreur" ?