2010-05-02 5 views
0

Je crée un formulaire qui recueille des informations standard sur les clients. Lorsque l'utilisateur clique sur Sauvegarder, je voudrais créer un fichier .txt qui serait utilisé pour récupérer plus tard toutes les données collectées auprès des clients. J'utilise DataTables qui est un plugin jQuery pour afficher les données. Le fichier txt sera formaté pour être sauvé en tant que tel:Comment utiliser AJAX pour créer un fichier .txt de source de données Json?

{ "aaData": [ 
["client 1 name","address","city","state","zip"], 
["client 2 name","address","city","state","zip"], 
["client 3 name","address","city","state","zip"], 
... 
["client x name","address","city","state","zip"] 
] } 

Où « aaData »: est utilisé par DataTables. Cela fait partie d'une application iPhone, donc la source de données doit être très petite et ne pas dépendre d'une connexion constante à un serveur, donc, essentiellement, une source de données côté client. Le fichier .txt doit également être mis à jour lorsqu'il est modifié et enregistré, puis remplacé chaque fois qu'il est téléchargé.

+0

voulez-vous aussi utiliser php pour lire/écrire un fichier ou juste javascript !? –

Répondre

1

Voulez-vous enregistrer un fichier .txt localement (c'est-à-dire sur l'ordinateur client)? Ce n'est pas possible: pour des raisons de sécurité (évidentes), l'environnement JavaScript d'un navigateur ne peut pas accéder au système de fichiers local. Vous pouvez enregistrer ces données au format JSON dans un cookie (4 Ko maximum par cookie) ou, avec HTML 5, en utilisant localStorage.

+0

Le plugin jQuery accède à la source de données et l'affiche sous forme de tableau. Je regarde maintenant HTML5, qui semble fonctionner. Mais qu'en est-il de la sauvegarde puis de la suppression de la source de données .txt à la fermeture de l'application? Lorsque l'application est ouverte, les données sont appelées à nouveau. – Adam

+0

@Adam: Si vous voulez enregistrer les données, vous devrez utiliser un cookie ou l'envoyer au serveur. Si vous voulez supprimer les données à la fermeture, ajoutez simplement un gestionnaire 'onunload' (mais cela ne fonctionnera pas dans Opera). Vous pouvez également supprimer cette donnée 'onload', qui sera lancée par tous les navigateurs (en supposant que JavaScript soit activé). –

+0

D'accord, on dirait que localstorage est le chemin à parcourir. Merci, Marcel. Maintenant, sur des choses plus amusantes impliquant html5. Dois-je créer un nouveau poste pour cela, ou pouvons-nous continuer à partir d'ici? – Adam