web sql en mysql database synchronizeren met persistencejs

Status
Niet open voor verdere reacties.

hetaapje

Nieuwe gebruiker
Lid geworden
25 aug 2012
Berichten
3
Hallo allemaal,

Ik heb het idee opgevat om mijn gelimiteerde javascript-skills op de proef te zetten door het maken van een heuze web app. Eentje die gebruikmaakt van die nieuwe mogenlijkheden van html5, specefiek de mogenlijkheid om pagina's offline te bekijken én gebruiken.

De app moet in eerste instantie een to-do lijstje worden, geheel geschreven in javascript met een lokale database. Deze database wil ik echter ook op andere apparaten willen gebruiken, dus leek het mij handig om deze te synchronizeren met de mysql database op mijn server.

Na op internet rond gekenen te hebben en veel van de (eigenlijk alweer verouderde) scripts geprobeerd te hebben heb ik de persistenceJS library gekozen om de gewenste taak uit de voeren. Alleen werkt het allemaal niet zo makkelijk als ik hoopte ;)

Ik heb nu op mijn server de volgende bestanden staan, waarvan allen behalve index.html tevinden zijn op de bovenstaande website.

Code:
persistence.js
persistence.store.sql.js
persistence.store.websql.js
persistence.sync.js
syncserver.php
index.html (onderstaand)

nu had ik de stille hoop, dat ik door de index.html aan te roepen een nieuwe regel toevoeg aan de Transactie tabel in mijn mysql database. Ik krijg geenenkele fout-melding, behalve deze regel in de console:
Code:
SELECT `root`.id AS _Sync_id, `root`.`entity` AS `_Sync_entity`, `root`.`localDate` AS `_Sync_localDate`, `root`.`serverDate` AS `_Sync_serverDate`, `root`.`serverPushDate` AS `_Sync_serverPushDate` FROM `_Sync` AS `root`  WHERE (1=1 AND `root`.`entity` = ?) LIMIT 1 ["Transactie"]

Kan iemand mij helpen?



HTML:
<html>
<head>
	<script src="persistence.js" type="application/javascript"></script>
	<script src="persistence.store.sql.js" type="application/javascript"></script>
	<script src="persistence.store.websql.js" type="application/javascript"></script>
	<script src='persistence.sync.js' type='application/javascript' ></script>
	<script type='text/javascript'>
		persistence.store.websql.config(
			persistence, 
			'localdb', 
			'A database description', 
			5 * 1024 * 1024
		);
		var Transactie = persistence.define("Transactie", {
		  id: "INT",
		  bedrag: "FLOAT",
		  datum: "DATE",
		  categorie: "INT",
		  lastupdate: "INT"
		});
		
		Transactie.id = 20;
		Transactie.bedrag = 25.50;
		Transactie.datum = "2012-07-04 00:00:00";
		Transactie.categorie = 1;
		
		Transactie.enableSync('syncserver.php');
		
		function conflictHandler(conflicts, updatesToPush, callback) {
		  // Decide what to do the conflicts here, possibly add to updatesToPush
		  callback();
		  alert("error");
		}

		Transactie.syncAll(conflictHandler, function() {
		  alert('Done!');
		});
	
		
	</script>
</head>
<body>
A. Page

</body>
</html>
 
Ik gok dat je falen om het in mysql te krijgen in die syncserver.php zit. Mischien handig om die even hier te posten..

En welke console bedoel je? De browser console? Op de "network" tab van je browser debugger moet je een AJAX hit naar syncserver.php zien. Kun je die vinden, en zo ja, wat is daar de output van?

Enne, bedankt voor de tip naar persistenceJS, ga ik nog handig vinden ooit ;)
 
De syncserver is het zelfde als aangeboden word bij het script: persistence.sync.server.php, daarvan heb ik alleen regel 77 aangepast om met mijn database te connecten.

Ik bedoel idd de browser console, bij de network tab zie ik geen hit naar syncserver.php. Ik verwacht dus dat er iets mis is met de code in index.html die ik zelf gemaakt heb en dat hij daarom helemaal niet begint met synchronizeren. Ik kan alleen nergens op internet vinden hoe het dan wel zou moeten :(
 
Ok, zet het allemaal eens online dan kan ik er met een debugger naar kijken..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan