hmm, si vous avez un numéro de série d'un objet avec la propriété StudentId
alors je pense que ce sera:
var studentId;
function(json) {
if (json.length > 0)
studentId = json[0].StudentId;
}
Mais si vous êtes juste retourner le StudentId
lui-même peut-être c'est:
var studentId;
function(json) {
if (json.length > 0)
studentId = json[0];
}
Modifier: Ou peut-être .length
n'est même pas nécessaire (j'ai seulement retourné des collections génériques en JSON).
Edit # 2, cela fonctionne, je viens de tester:
var studentId;
jQuery.getJSON(url, data, function(json) {
if (json)
studentId = json;
});
Edit # 3, voici les JS réels que j'ai utilisé:
$.ajax({
type: "POST",
url: pageName + "/GetStudentTest",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{id: '" + someId + "'}",
success: function(json) {
alert(json);
}
});
Et dans le 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
C'est une bien meilleure solution, car getJSON est un appel asynchrone, donc la variable définie dans le délégué n'est pas accessible avant que l'appel asynchrone soit terminé. – Annagram
Fait intéressant, j'avais "& callback =?" dans mon URL qui semblait remplacer le paramètre async: false. –
Merci! Maintenant, je peux faire quelque chose ici ... – Rimian