2012-05-16 3 views
0

Попытка выполнить это:JQuery пост не работает, данные не определены

function getReport(name) { 
    $.ajax({ 
     type: "POST", 
     url: "reportAjax.php", 
     data: "name="+ name, 
     success: function(data){ 
      var json = $.parseJSON(data);     
     } 
    }); 
    alert(data); 
} 

$(document).ready(function() { 
    getReport('mobileDevicesBreakdown_30days'); 
}); 

Я получаю data is not defined

reportAjax.php определенно доступны и всегда возвращают что-то (даже если переменные, которые посылаются к нему - в настоящее время name неверен или отсутствует).

ответ

3

Move alert(data); внутри обратного вызова успеха:

function getReport(name) { 
    $.ajax({ 
     type: "POST", 
     url: "reportAjax.php", 
     data: "name="+ name, 
     success: function(data){ 
      alert(data); 
      var json = $.parseJSON(data);     
     } 
    });  
} 
0

Если вы пытаетесь предупредить данные, это должно быть в пределах Вашего успеха вызова

function getReport(name) { 
    $.ajax({ 
     type: "POST", 
     url: "reportAjax.php", 
     data: "name="+ name, 
     success: function(data){ 
      var json = $.parseJSON(data);     
      alert(data); 
     } 
    }); 

} 
1

.ajax асинхронный метод, так что ваш alert(data) должен находиться в успешной части .ajax

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