2013-05-29 4 views
1

этот код работает нормально, но не показывает записи. в предупреждении, если я получаю запись из файла, что он работает нормально.не удалось показать запись с помощью webservice

$j().ready(function(){  

      var result =$j.ajax({ 
        type: "GET", 
        url: "webService address", 
        dataType :'json', 
        contentType:'application/json; charset =utf-8', 
        success:function(data) 
        { 
        $j.each(data, function(index,element){ 
          alert("Successful here: "+element); 

          }); 
        } 
      }); 
      alert("result"+result); 

     }); 

ответ

0

Добро пожаловать в удивительный мир асинхронным ...

Прежде всего, JQuery прибудете не возврата данные, которые должны быть обработаны с помощью функции обратного вызова (который работает а из вашего поста)

var result = null; 
$j(document).ready(function(){  
     $j.ajax({ 
       type: "GET", 
       url: "webService address", 
       dataType :'json', 
       contentType:'application/json; charset =utf-8', 
       success:function(data) 
       { 
       result = data; 
       $j.each(data, function(index,element){ 
         alert("Successful here: "+element); 

         }); 
       } 
     }); 
     alert("result"+result); 

    }); 

Это может не работать, а так как JQuery Ajax является асинхронным, и предупреждение может появиться, пока GET все еще читает данные и еще не готов !!!!

0

Проверить Jquery Аякса doc:

$.ajax({ 
    type: "GET", 
    url: "webService address", 
    dataType :'json', 
    contentType:'application/json; charset =utf-8' 
}).done(function(data) { 
    console.log(data); 
}); 

Javascript не ждет AJAX, чтобы закончить, он идет дальше. Вот почему его называют асинхронным. Если вам нужен синхронный вызов, используйте async: false.

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