J'essaie de publier un objet JSON sur un service Web 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 le json2.js pour stringyfy mon objet json.
et j'utilise jquery pour le poster sur 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);
}
});
Je reçois l'erreur suivante:
"Primitive JSON non valide:
J'ai trouvé un tas de messages à ce sujet et cela semble être un problème vraiment courant, mais rien que j'essaie ne résout le problème.
Lorsque Firebug ce qui est publié sur le serveur, cela ressemble à ceci:
marqueurs% 5B0% 5D% 5Bposition% 5D = 128.3657142857143 & marqueurs% 5B0% 5D% 5BmarkerPosition% 5D = 7 & marqueurs% 5B1% 5D% 5Bposition% 5D = 235.1944023323615 & marqueurs% 5B1% 5D% 5BmarkerPosition% 5D% 5B = 19% 5D = 42,5978231292517 & marqueurs% 5B2% 5D% 5BmarkerPosition% 5D = -3
Ma fonction de service Web appelée est:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}