আমি খুঁজে পেয়েছি যে আপনার সিরিয়ালাইজারের মোটেই দরকার নেই। আপনি যদি তালিকা হিসাবে বস্তুটি ফেরত দেন। আমাকে একটি উদাহরণ ব্যবহার করুন।
আমাদের এসএমএক্সে আমরা ভেরিয়েবলটি ব্যবহার করে আমরা পাশ করে দিয়েছি
// return data
[WebMethod(CacheDuration = 180)]
public List<latlon> GetData(int id)
{
var data = from p in db.property
where p.id == id
select new latlon
{
lat = p.lat,
lon = p.lon
};
return data.ToList();
}
public class latlon
{
public string lat { get; set; }
public string lon { get; set; }
}
তারপরে jquery ব্যবহার করে আমরা সেই ভেরিয়েবলটি অতিক্রম করে পরিষেবাটি অ্যাক্সেস করি।
// get latlon
function getlatlon(propertyid) {
var mydata;
$.ajax({
url: "getData.asmx/GetLatLon",
type: "POST",
data: "{'id': '" + propertyid + "'}",
async: false,
contentType: "application/json;",
dataType: "json",
success: function (data, textStatus, jqXHR) { //
mydata = data;
},
error: function (xmlHttpRequest, textStatus, errorThrown) {
console.log(xmlHttpRequest.responseText);
console.log(textStatus);
console.log(errorThrown);
}
});
return mydata;
}
// call the function with your data
latlondata = getlatlon(id);
এবং আমরা আমাদের প্রতিক্রিয়া পেতে।
{"d":[{"__type":"MapData+latlon","lat":"40.7031420","lon":"-80.6047970}]}