getJSON和每个方法都不能正常工作

时间:2014-01-12 11:15:36

标签: javascript jquery asp.net-mvc json getjson

我正在尝试将json数据解析到我的页面。

但是有问题,让我说:

当前的javascript方法:

<script>
    function updateTitlesArea() {
        $.getJSON("/3harf/baslik/sol-basliklari-getir")
            .done(function(data) {
                $("#titlesDiv").empty();
                $("#pagesDiv").empty();
                $.each(data, function(i, item) {
                        alert("da");
                        $("#titlesDiv").html($("#titlesDiv").html() +
                            "<li><a href=\"/" + item.title.replace(/> /g, '-') + "\">" + item.Title + "</a></li>");
                    }
                );
            });
    }
</script>

JSON:

  

[{ “TotalPageCount”:9},{ “TotalTitleCount”:199},{ “标题”: “草”},{ “标题”:“耶尔马兹   ozdil“},{”Title“:”dvd“},{”Title“:”真的很疯狂   deep“},{”Title“:”deportivo de la coruna“},{”Title“:”sizi seven   kisiyle sevdiginiz kisinin farkli olmasi“},{”Title“:”kadinlarin bavul   gibi canta tasimalari“},{”Title“:”hosbuldum“},{”Title“:”sark   cibani“},{”Title“:”mevsimler gecerken“},{”Title“:”bir kerede kolon   “我不知道”   bilimi“},{”Title“:”memetq“},{”Title“:”ogrencilerin sinav kagidina   dustugu ilginc notlar“},{”Title“:”cami duvarina   isemek“},{”Title“:”kufurden sonra tovbe etmek“},{”Title“:”gida tarim   ve hayvancilik bakanligi“},{”Title“:”cevre orman ve sehircilik   bakanligi“},{”Title“:”google da nikah masasi calmak“}]

问题是,主持人首先处理Json术语“ {”TotalPageCount“:9} ”然后停止了每种方法的处理。

你可以更正我的方法和JavaScript吗? 我也想获得TotalPageCount和TotalTitleCount ..

非常感谢

更新

极客帮助解决了这个问题;

但我想问一下,如果这是正确的解决方案,我改变了一些:

    <script>
        function updateTitlesArea() {
            $.getJSON("/3harf/baslik/sol-basliklari-getir")
                .done(function(data) {
                    var totalPageCount = 0;
                    var totalTitleCount = 0;
                    $("#titlesDiv").empty();
                    $("#pagesDiv").empty();
                    for (var key in data) {
                        var current = data[key];
                        if (current.hasOwnProperty('TotalPageCount'))
                        {
                            //console.log(current.TotalPageCount);
                            totalPageCount = current.TotalPageCount;
                        }
                        else if (current.hasOwnProperty('TotalTitleCount')) {
                            //console.log(current.TotalTitleCount);
                            totalTitleCount = current.TotalTitleCount;
                        }
                        else if (current.hasOwnProperty('Title'))
                        {
                            //console.log(current.Title);
                            $("#titlesDiv").html($("#titlesDiv").html() + "<li><a href=\"/" + current.Title.replace(/ /g, '-') + "\"" +
                                "tips=\"[strong]başlığı açan:[/strong] " + current.OwnerNickName + "[br /][strong]son yazan:[/strong] " + current.LastNickName + "[br /][strong]son güncellenme:[/strong] " + current.LastDate + "\">" + current.Title + "</a></li>");
                        }
                    }
                });
        }
    </script>

最新JSON

  

[{ “TotalPageCount”:9},{ “TotalTitleCount”:199},{ “标题”: “草”, “OwnerNickName”: “vroslav”, “LastNickName”:“真正   疯狂地“,”LastDate“:”2yıl7ay“},{”Title“:”yilmaz   ozdil“,”OwnerNickName“:”bandistabolivya“,”LastNickName“:”真的很疯狂   深深地“,”LastDate“:”2yıl7   AY “},{” 标题 “:” DVD “ ”OwnerNickName“: ”sonejee“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”真正疯狂地深入“,”OwnerNickName“:”markovian   工程师“,”LastNickName“:”真的很疯狂“,”LastDate“:”2yıl7   ay“},{”Title“:”deportivo de la   拉科鲁尼亚 “ ”OwnerNickName“: ”sonejee“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”sizi seven kisiyle sevdiginiz kisinin farkli   olmasi“,”OwnerNickName“:”vasili ivanov“,”LastNickName“:”真的很疯狂   深深地“,”LastDate“:”2yıl7ay“},{”Title“:”kadinlarin bavul gibi canta   tasimalari“,”OwnerNickName“:”nobrain“,”LastNickName“:”真正疯狂地   深深地“,”LastDate“:”2yıl7   ay“},{”Title“:”hosbuldum“,”OwnerNickName“:”真是疯狂   深深地“,”LastNickName“:”真正疯狂地深深地“,”LastDate“:”2yıl7   ay“},{”Title“:”sark cibani“,”OwnerNickName“:”真的很疯狂   深深地“,”LastNickName“:”真正疯狂地深深地“,”LastDate“:”2yıl7   AY “},{” 标题 “:” mevsimler   gecerken “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”bir kerede kolon gibi   sicmak“,”OwnerNickName“:”nobrain“,”LastNickName“:”真的很疯狂   深深地“,”LastDate“:”2yıl7   AY “},{” 标题 “:” gelismek “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”faz ve alasim   bilimi “ ”OwnerNickName“: ”necronaught“, ”LastNickName“: ”necronaught“, ”LastDate“:” 2   你7   AY “},{” 标题 “:” memetq “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”memetq“, ”LastDate“:” 2   yıl7ay“},{”Title“:”ogrencilerin sinav kagidina dustugu ilginc   notlar “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”lagbturkey“, ”LastDate“:” 2   yıl7ay“},{”Title“:”cami duvarina   isemek “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”kufurden sonra tovbe   etmek “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”nobrain“, ”LastDate“:” 2   yıl7ay“},{”Title“:”gida tarim ve hayvancilik   bakanligi“,”OwnerNickName“:”真的很疯狂“,”LastNickName“:”真的   疯狂地“,”LastDate“:”2yıl7ay“},{”Title“:”cevre orman ve   sehircilik bakanligi“,”OwnerNickName“:”真的很疯狂   深深地“,”LastNickName“:”真正疯狂地深深地“,”LastDate“:”2yıl7   ay“},{”Title“:”google da nikah masasi   calmak “ ”OwnerNickName“: ”nobrain“, ”LastNickName“: ”memetq“, ”LastDate“:” 2   yıl7ay“}]

你能检查一下浏览器的性能等吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

我尝试了你的代码并发现错误是替换方法。因为前两项没有“Title”属性。我使用你的json数据创建了一个简单的演示

http://jsbin.com/ewUYuqa/1/edit

< script >
    function updateTitlesArea() {
        $.getJSON("/3harf/baslik/sol-basliklari-getir")
            .done(function (data) {
                $("#titlesDiv").empty();
                $("#pagesDiv").empty();
                $.each(data, function (i, item) {
                    var currentItem = item[i];
                    if (currentItem.hasOwnProperty('TotalPageCount'))
                        console.log(currentItem.TotalPageCount);
                    else if (currentItem.hasOwnProperty('TotalTitleCount'))
                        console.log(currentItem.TotalTitleCount);
                    else {

                        $("#titlesDiv").html($("#titlesDiv").html() +
                            "<li><a href=\"/" + item.title.replace(/> /g, '-') + "\">" + item.Title + "</a></li>");
                    }
                });
            });
} < /script>