2009-10-06 4 views
0

J'ai une PAGE de révision avec un TEXTFIELD. utilisateur doit pouvoir écrire LONGUE HISTOIRE (1000 mots +) peuvent contenir des caractères comme ()*&^%$#@\/<>Jquery GET - envoi et réception de contenu long et complexe, comment?

Une fois que « sauver » est pressé, je veux utiliser Jquery GET -> pour le contenu traiter avec le fichier PHP. (enregistrer dans la base de données mysql)

et retourner le résultat.

disons que je veux afficher "alert(words_were_saved:int)"

Comment puis-je passer à travers les paramètres longs et complexes, et à partir de Jquery _POST, _GET sans provoquer des erreurs JS/HTTP?

Répondre

3

Essayez:

utilisant get:

var text = $('#textfield').val(); 
$.get('someurl.php",{data: text},function(result){ 
    alert(result); 
} 

Ou en utilisant la poste (cela devrait mieux que quand obtenir des données volumineuses sont soumis):

var text = $('#textfield').val(); 
$.post('someurl.php",{data: text},function(result){ 
    alert(result); 
} 

someurl.php:

$data = $_REQUEST['data']; 
//do what you want to the data 
//print some thing 
echo 'saved';//this text will be alerted on get callback 
1

Vous devez utiliser la publication pour les volumes de données volumineuses. Il fonctionne de la même façon:

jQuery.post(url, [data], [callback], [type]) 

Charger une page distante en utilisant une requête HTTP POST. Il s'agit d'un moyen simple d'envoyer une requête POST simple à un serveur sans avoir à utiliser la fonction $ .ajax plus complexe. Il permet de spécifier une seule fonction de rappel qui sera exécutée lorsque la requête est terminée (et seulement si la réponse a un code de réponse réussi).

Le format de données renvoyé peut être spécifié par le quatrième paramètre. Si vous avez besoin d'avoir des rappels d'erreur et de succès, vous pouvez utiliser $ .ajax. $ .post est une fonction wrapper (simplifiée) pour $ .ajax. $ .post() renvoie le XMLHttpRequest qu'il crée. Dans la plupart des cas, vous n'aurez pas besoin de cet objet pour manipuler directement, mais il est disponible si vous devez annuler la demande manuellement.

0

sa meilleure pratique pour utiliser la publication pour des informations qui changeront d'état (c'est-à-dire enregistrer, supprimer la mise à jour) et obtenir juste pour servir le contenu (texte, html etc). cette pratique semble garder les choses gentilles et séparées et concis, et vous pouvez poster de grandes quantités de données.