Reputation: 5383
I'm trying to parse json data to my page.
But have a problem, let me exaplain:
Current javascript method:
<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},{"Title":"kola"},{"Title":"yilmaz ozdil"},{"Title":"dvd"},{"Title":"truly madly deeply"},{"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 gibi sicmak"},{"Title":"gelismek"},{"Title":"faz ve alasim 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"}]
It's problem is, host proccessing first Json term "{"TotalPageCount":9}" and then stopped the proccess of each method.
Could you correct my method and javascript please? I would like to get TotalPageCount and TotalTitleCount too..
Thanks a lot
UPDATE
geek helped for the solution;
But I would like to ask if it is right solution, I changed some:
<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>
Latest JSON
[{"TotalPageCount":9},{"TotalTitleCount":199},{"Title":"kola","OwnerNickName":"vroslav","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"yilmaz ozdil","OwnerNickName":"bandistabolivya","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"dvd","OwnerNickName":"sonejee","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"truly madly deeply","OwnerNickName":"markovian engineer","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"deportivo de la coruna","OwnerNickName":"sonejee","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"sizi seven kisiyle sevdiginiz kisinin farkli olmasi","OwnerNickName":"vasili ivanov","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"kadinlarin bavul gibi canta tasimalari","OwnerNickName":"nobrain","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"hosbuldum","OwnerNickName":"truly madly deeply","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"sark cibani","OwnerNickName":"truly madly deeply","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"mevsimler gecerken","OwnerNickName":"nobrain","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"bir kerede kolon gibi sicmak","OwnerNickName":"nobrain","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"gelismek","OwnerNickName":"nobrain","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"faz ve alasim bilimi","OwnerNickName":"necronaught","LastNickName":"necronaught","LastDate":"2 yıl 7 ay"},{"Title":"memetq","OwnerNickName":"nobrain","LastNickName":"memetq","LastDate":"2 yıl 7 ay"},{"Title":"ogrencilerin sinav kagidina dustugu ilginc notlar","OwnerNickName":"nobrain","LastNickName":"lagbturkey","LastDate":"2 yıl 7 ay"},{"Title":"cami duvarina isemek","OwnerNickName":"nobrain","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"kufurden sonra tovbe etmek","OwnerNickName":"nobrain","LastNickName":"nobrain","LastDate":"2 yıl 7 ay"},{"Title":"gida tarim ve hayvancilik bakanligi","OwnerNickName":"truly madly deeply","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"cevre orman ve sehircilik bakanligi","OwnerNickName":"truly madly deeply","LastNickName":"truly madly deeply","LastDate":"2 yıl 7 ay"},{"Title":"google da nikah masasi calmak","OwnerNickName":"nobrain","LastNickName":"memetq","LastDate":"2 yıl 7 ay"}]
Could you check it about performance of the browser etc? Thanks a lot!
Upvotes: 0
Views: 101
Reputation: 28652
I tried your code and found that error is in replace method.because the first two item does not have "Title" property.I have created a simple demo using your json data
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>
Upvotes: 1