Я пытаюсь сделать что-то вроде следующего:
$.ajax({
url: "/Track/Search",
type: "POST",
data: {
startLatLng : { Latitude: firstClickLatLng.lat(), Longitude : firstClickLatLng.lng() },
endLatLng : { Latitude: secondClickLatLng.lat(), Longitude: secondClickLatLng.lng() }
},
dataType: "json",
success: function (msg) {
alert("Ah har!: " + msg);
}
});
Со следующей подписью действия:
[HttpPost]
public ActionResult Search(LatLng startLatLng, LatLng endLatLng)
И определение класса для LatLng выглядит следующим образом:
public class LatLng
{
public float Latitude { get; set; }
public float Longitude { get; set; }
}
Но когда я отлаживаю на сервере, поля Longitude и Latitude всегда равны нулю или равны нулю. На стороне клиента это не так. Я предполагаю, что просто делаю что-то не так с моим хэшем данных в вызове jQuery.
Есть идеи?
EDIT
Все еще не повезло:
var myData = {
startLatLng: { Latitude: firstClickLatLng.lat(), Longitude: firstClickLatLng.lng() },
endLatLng: { Latitude: secondClickLatLng.lat(), Longitude: secondClickLatLng.lng() }
};
$j.ajax({
url: "/Track/Search",
type: "POST",
data: JSON.stringify(myData),
dataType: "json",
success: function (msg) {
alert("Ah har!: " + msg);
}
});
Вызов сделан на сервер, но данных пока нет. Поля, такие как firstClickLatLng.lat (), определенно содержат данные.