Jquery Ajax返回NULL

时间:2012-12-06 18:49:12

标签: jquery ajax json

我有一个小脚本来从我的数据库请求json数据。这是代码

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
    $(document).ready(function() {
        var keyword = "1";
         var baseurl1 = "json_data2.php?l=" + keyword;
        // Product Count 
        var json = (function() {
            var json = null;
            $.ajax({
                'async': false,
                'global': false,
                'url': baseurl1,
                'dataType': "json",
                'success': function(data) {
                    json = data;
                }
            });
            return json;
        })();
        console.log(json);

    });
});
</script>

当我的Feed看起来像这样

{"limit": [{"rows":"127"}]}

我在控制台中得到“Object {limit:Array [1]}”。所以它似乎在说。我也可以提醒json.limit [0] .rows并显示127。到目前为止一切都很好。

当我尝试获取另一个看起来像这样的数据

{"posts": [{"productname":"Das kleine Ich bin ich","link":"if3OHlvncaIY7A7VGze7VSIeAAZAIZV83cvaG%2B5w3U48cuooMp9qZZJkdQzwyGEXgk8LCR9kD7nY6Y%2FSR0RnjRJo44jHguoaesLAa4mLhuKpuLsfty85ZaePH%2FHReJTc","imgurl":"img\/products\/mytoys\/das-kleine-ich-bin-ich.jpg","price":"13.90","oldprice":"","sale":""},]}

控制台日志显示为“null”。可能是什么问题?我的意思是我没有改变代码,只改变了Url。数据源是JSON,我也访问了我的浏览器中的数据源,它正确显示。有什么指针吗?

1 个答案:

答案 0 :(得分:2)

console.log记录为null,因为执行该行时,ajax执行尚未完成, 你的控制台日志,以及你想用ajax调用返回的数据做什么都必须在成功回调中