einddatum wordt niet getoont

Status
Niet open voor verdere reacties.
Er gaat waarschijnlijk wat mis met je javascript aanroep.

Als ik handmatig in mijn console dit laat uitvoeren
[js]var cu = new CampaignsUpdater(); cu[/js]
Krijg ik dit terug:
Code:
CampaignsUpdater {campaigns: Array[0], fetchData: function, timer: function, campaignIds: 1}
Oftewel de array met campagnes blijft leeg.

Zelfs na een handmatige
[js]cu.fetchData()[/js]
wordt er niks getoond.

Waarschijnlijk zit hier dus ergens het probleem
[js]
this.fetchData = function () {
this.campaignIds = campaignIds;

$.getJSON(ajax_urls['multiple_campaigns']+this.campaignIds+'?r='+Math.random(),null, bind(this, function (data) {
forEach(data, function (item) {
id = item.id;
if (typeof(this.campaigns[id])=='undefined') {
this.campaigns[id] = new Campaign(id, item);
} else {
this.campaigns[id].updateDataFromServer(item);
}
}, this);
}));

setTimeout(bind(this, this.fetchData), 10000);
};
[/js]

Voorlopig verplaats ik hem naar de javascript-sectie
 
Laatst bewerkt:
Ik zou graag weten wat ik moet doen natuurlijk?
Moet is die javascriptcode ergens plakken?
 
Zoals ik zei zul je die code na moeten pluizen of daar juiste waardes doorkomen.

Die code kun je debuggen door middel van wat console.log() te gebruiken om enkele variabelen.
 
Sorry, ik ken niets van Javascript.
Is er een programma die variabelen controleert?

Ik kan je ook de gegevens van de site geven als je wilt.
Vind het te zot om alles opnieuw te installeren, kan goed zijn dat ik bij het vertelen iets verkeerd heb vertaald.
 
Als je mij de FTP-gegevens op kunt sturen wil ik er wel eens een blik op werpen.

Mailen kan naar thadevil@helpmij.nl
 
Tijdens mijn speurwerk kwam ik er achter dat er gebruik gemaakt wordt van CodeIgniter en dat je iets van een Livechat gewoon in de root index.php hebt geplakt.

Dat hoort niet, dus ik ben zo vrij geweest hem in /public_html/system/application/views/templates/application.php te plaatsen :)

Verder heb ik de klasse CampaignsUpdater redelijk verbouwt:

Het was
[js]
function CampaignsUpdater() {
this.campaigns = new Array();

this.fetchData = function () {
this.campaignIds = campaignIds;

$.getJSON(ajax_urls['multiple_campaigns']+this.campaignIds+'?r='+Math.random(),null, bind(this, function (data) {
forEach(data, function (item) {
id = item.id;
if (typeof(this.campaigns[id])=='undefined') {
this.campaigns[id] = new Campaign(id, item);
} else {
this.campaigns[id].updateDataFromServer(item);
}
}, this);
}));

setTimeout(bind(this, this.fetchData), 10000);
};

this.timer = function () {
var time = new Date().getTime()/1000;
forEach(this.campaigns, function (c) {
c.updateTimer(time);
}, this);

setTimeout(bind(this, this.timer), 1000);
};

this.timer();
this.fetchData();
}
[/js]
en het is nu
[js]
function CampaignsUpdater()
{
var self = this;
this.campaigns = new Array();

this.fetchData = function ()
{
this.campaignIds = campaignIds;

$.ajax({
url: ajax_urls['multiple_campaigns']+this.campaignIds+'?r='+Math.random(),
success: function(data)
{
forEach(JSON.parse(data), function (item)
{
id = item.id;
if (typeof(self.campaigns[id])=='undefined') {
self.campaigns[id] = new Campaign(id, item);
} else {
self.campaigns[id].updateDataFromServer(item);
}
}, this);
}
});

setTimeout(bind(this, this.fetchData), 10000);
};

this.timer = function ()
{
var time = new Date().getTime()/1000;
forEach(this.campaigns, function (c)
{
c.updateTimer(time);
}, this);
setTimeout(bind(this, this.timer), 1000);
};

this.timer();
this.fetchData();
}
[/js]
Volgens mij werkt het nu, ik krijg in ieder geval op de pagina de teller te zien.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan