Ich versuche, ein JSON-Objekt auf einem asp.net-Webservice zu veröffentlichen.
Mein json sieht so aus:
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
Ich verwende json2.js, um mein json-Objekt zu stringyfy.
und ich benutze jquery, um es auf meinem Webservice zu posten.
$.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);
}
});
Ich erhalte die folgende Fehlermeldung:
"Ungültiges JSON-Grundelement:
Ich habe eine Reihe von Posts gefunden, die sich darauf beziehen, und es scheint ein wirklich häufiges Problem zu sein, aber nichts, was ich versuche, behebt das Problem.
Wenn Firebug, was auf dem Server gepostet wird, sieht es so aus:
Marker% 5B0% 5D% 5Bosition% 5D = 128.3657142857143 & Marker% 5B0% 5D% 5BmarkerPosition% 5D = 7 & Marker% 5B1% 5D% 5Bposition% 5D = 235.1944023323615 & Marker% 5B1% 5D% 5BmarkerPosition% 5D2 19% 5D = 42,5978231292517 & Marker% 5B2% 5D% 5BmarkerPosition% 5D = -3
Meine aufgerufene Webservice-Funktion lautet:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}