Cómo enviar variables js al controlador mvc
Soy nuevo en los conceptos de programación cliente-servidor. Lo que necesito, para enviar cuatro js vars a mi acción de controlador MVC 3.
$(document).ready(function() {
var $jcrop;
$('#image').Jcrop({
bgColor: 'red',
onSelect: refreshData
}, function () {
$jcrop = this;
});
function refreshData(selected) {
myData = {
x1: selected.x1,
x2: selected.x2,
y1: selected.y1,
y2: selected.y2
};
}
});
Entonces obtengo mis vars en el navegador.
Lo que tengo en el lado del servidor es:
public ActionResult CreateCover(ImageCoordinates coordinates) {
ViewData.Model = coordinates;
return View();
}
public class ImageCoordinates
{
public int x1 { get; set; }
public int x2 { get; set; }
public int y1 { get; set; }
public int y2 { get; set; }
}
¿Hay una manera fácil de publicar mis cuatro parámetros de js en mi acción? Traté de usar un par de ejemplos de este sitio, usando $ .ajax
Me gusta esto
$.ajax({
url: '/dashboard/createcover',
type: 'POST',
data: JSON.stringify(myData),
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert(data.success);
},
error: function () {
alert("error");
},
async: false
});
Pero no funcionó, recibí 0 0 0 0 en mi acción. Pero, sinceramente, ni siquiera estoy seguro de cómo llamar a esta función jquery. ¿Debo llamar haciendo clic en el botón, o se llama automáticamente cuando publico el formulario? ¿Y hay otros métodos para enviar estos parámetros?