Estoy un poco atascado en lo que probablemente es una situación común, pero no puede encontrar mucho en el camino de las soluciones.

Estoy pasando un único parámetro int a un controlador MVC método, esperando una respuesta Json de la espalda. El problema es que el parámetro, mientras que se rellenan en el cliente final, no está siendo reconocido en el servidor y se interpreta como null.

Aquí está el código:

function getBatches(p) {
$.ajax({
    type: "GET",
    data: "{'ProjectID': " + p + "}",
    url: "/Home/Batches",
    success: function(msg) {
        populateBatches(msg);
    }
});

}

El valor de p es un número entero. En el extremo del servidor, el código es el siguiente:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult Batches(int ProjectID)
{
    return Json(TimeHelper.GetBatchesForProject(ProjectID));
}

He intentado modificarlo ligeramente para que el lado del servidor int argumento es que aceptan valores null (es decir,int? ProjectID), pero de nuevo, que no parece ayudar. El problema está en algún lugar en la traducción. Ideas?

InformationsquelleAutor Phil.Wheeler | 2009-09-12

1 Comentario

  1. 13

    data debe ser un objeto de Javascript literal:

    $.ajax({
        type: "GET",
        data: {ProjectID: p},
        url: "/Home/Batches",
        success: function(msg) {
            populateBatches(msg);
        }
    });
    • Excelente! Tengo en uno. Bien hecho, que hombre!!!
    • No funciona para mí. ¿Esto sólo funcionará para los enteros?

Dejar respuesta

Please enter your comment!
Please enter your name here