我试图发布一个JSON对象到asp.net webservice。
我的json是这样的:
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
我使用json2.js来stringyfy我的JSON对象。
我使用jquery发布它到我的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);
}
});
我得到以下错误:
无效的JSON原语
我发现了一堆与此相关的帖子,这似乎是一个非常普遍的问题,但我没有尝试解决这个问题。
当firebug被发布到服务器时,它看起来是这样的:
标记% 5 b0 % 5 d % 5 bposition % 5 d = 128.3657142857143,标记% 5 b0 % 5 d % 5 bmarkerposition % 5 d = 7,标记% 5 b1 % 5 d % 5 bposition % 5 d = 235.1944023323615,标记% 5 b1 % 5 d % 5 bmarkerposition % 5 d = 19,标记% 5 b2 % 5 d % 5 bposition % 5 d = 42.5978231292517,标记% 5 b2 % 5 d % 5 bmarkerposition % 5 d = 3
我的webservice函数被调用是:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}