hmm, si ha serializado un objeto con la propiedad StudentId
entonces creo que va a ser:
var studentId;
function(json) {
if (json.length > 0)
studentId = json[0].StudentId;
}
Pero si sólo está devolviendo el StudentId
sí quizás es:
var studentId;
function(json) {
if (json.length > 0)
studentId = json[0];
}
Editar: O tal vez .length
ni siquiera es necesario (solo he devuelto colecciones genéricas en JSON).
Edición # 2, esto funciona, Acabo de probar:
var studentId;
jQuery.getJSON(url, data, function(json) {
if (json)
studentId = json;
});
Edición # 3, aquí está la JS reales que he utilizado:
$.ajax({
type: "POST",
url: pageName + "/GetStudentTest",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{id: '" + someId + "'}",
success: function(json) {
alert(json);
}
});
Y en el aspx.vb:
<System.Web.Services.WebMethod()> _
<System.Web.Script.Services.ScriptMethod()> _
Public Shared Function GetStudentTest(ByVal id As String) As Integer
Return 42
End Function
Esta es una solución mucho mejor, ya que getJSON es una llamada asincrónica, por lo que la variable configurada en el delegado no se puede acceder antes de que finalice la llamada asincrónica. – Annagram
¿Curiosamente tuve "& callback =?" en mi URL que parecía anular la configuración async: false. –
¡Gracias! Ahora, puedo hacer algo aquí ... – Rimian