ฉันพยายามโพสต์วัตถุ JSON ไปยังเว็บเซอร์ asp.net
json ของฉันมีลักษณะเช่นนี้:
var markers = { "markers": [
{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }
]};
ฉันใช้ json2.js เพื่อ stringyfy วัตถุ 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 และเครื่องหมาย% 5B2% 5D% 5BmarkerPosition% 5D = -3
ฟังก์ชั่นเว็บเซอร์ของฉันที่ถูกเรียกคือ:
[WebMethod]
public string CreateMarkers(string markerArray)
{
return "received markers";
}