Próbuję opublikować obiekt JSON w usłudze internetowej asp.net.
Mój Json wygląda następująco:
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
Używam json2.js do stringyfy mój obiekt json.
i używam jquery do opublikowania go w mojej usłudze internetowej.
$.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);
}
});
Otrzymuję następujący błąd:
„Niepoprawna operacja podstawowa JSON:
Znalazłem kilka postów związanych z tym i wydaje się, że jest to naprawdę częsty problem, ale nic, co próbuję rozwiązać, nie rozwiązuje problemu.
Gdy firebug jest publikowany na serwerze, wygląda to tak:
markery% 5B0% 5D% 5Bpozycja% 5D = 128.3657142857143 i markery% 5B0% 5D% 5BmarkerPozycja% 5D = 7 i markery% 5B1% 5D% 5Bpozycja% 5D = 235,1944023323615 i markery% 5B1% 5D% 5B Marker%% 5D 5D = 42,5978231292517 i markery% 5B2% 5D% 5 Marker Pozycja% 5D = -3
Moja wywoływana funkcja usługi internetowej to:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}