1

此代码工作正常,但不显示记录。如果我从文件中获取记录,它工作正常。

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

        });
4

2 回答 2

0

检查 Jquery ajax文档

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

javascript 不等待 AJAX 完成,它继续前进。这就是为什么它被称为异步。如果您需要同步调用,请使用async: false.

于 2013-05-29T11:56:59.427 回答
0

欢迎来到异步的奇妙世界......

首先,jQuery get 不返回需要由回调处理的数据(从您的帖子开始工作)

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 仍在读取数据且尚未准备好时可能会弹出警报!!!!

于 2013-05-29T11:43:57.173 回答