2010-07-08 5 views
2
function getThisFrame(frameId) { 
    var r; 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json", 
     url: "abcdefg.asmx/RetriveThis", 
     data: "{Id:" + Id + "}", 
     dataType: 'json', 
     success: function (result) { 
       return result.d 
     } 
    }); 
} 

La valeur de retour est toujours "indéfini"? Comment pourrais-je résoudre ceci? Merci!jQuery Ajax retourne toujours "indéfini"?

Les données ne sont sûrement pas un problème!

Répondre

9

vous renvoyez result.d à $.ajax() pas à getThisFrame().

Vous avez besoin d'un peu de rappel si vous voulez gérer result.d en quelque sorte.

function getThisFrame(frameId, callback) { 
var r; 
$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: "abcdefg.asmx/RetriveThis", 
    data: "{Id:" + Id + "}", 
    dataType: 'json', 
    success: function (result) { 
      if(typeof callback === 'function') callback.apply(this, [result.d]); 
    } 
}); 
} 

getThisFrame(5, function(data){ 
    // do something with data. 
}); 
+0

Merci beaucoup, je l'ai fait. – user386604

Questions connexes