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 
     } 
    }); 
} 

Возвращаемое значение всегда «неопределено»? Как я могу это решить? Благодаря!jQuery Ajax всегда возвращает "undefined"?

Данные, безусловно, не проблема!

ответ

9

Вы возвращаетесь result.d до $.ajax() не до getThisFrame().

Вам нужно какое-то обратное, если вы хотите как-то обработать result.d.

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

Большое спасибо, я сделал это. – user386604

Смежные вопросы