JSONオブジェクトをasp.net Webサービスに投稿しようとしています。
私のjsonは次のようになります:
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
私はjson2.jsを使用してjsonオブジェクトを文字列化しています。
そして私はそれを私のウェブサービスに投稿するためにjqueryを使用しています。
$.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);
}
});
次のエラーが発生します。
「無効なJSONプリミティブ:
私はこれに関連するたくさんの投稿を見つけました、そしてそれは本当に一般的な問題のようですが、私が問題を修正しようとするものは何もありません。
サーバーにポストされているものをfirebugすると、次のようになります。
マーカー%5B0%5D%5Bposition%5D = 128.3657142857143&マーカー%5B0%5D%5BmarkerPosition%5D = 7&マーカー%5B1%5D%5Bposition%5D = 235.1944023323615&マーカー%5B1%5D%5BmarkerPosition%5D = 19&マーカー%5B2%5D%5Bposition% 5D = 42.5978231292517&markers%5B2%5D%5BmarkerPosition%5D = -3
呼び出されている私のwebservice関数は:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}