2010-02-07 9 views
0

J'ai fait un petit script qui envoie un contenu textarea à la page PHP avec demande get ajax: n avec jquery ajax

$.get('./data/pages/admin/actions.php?savepost=1','&post_id=' + $(box).attr('id') + '&text=' + new_text,'text'); 

nouveau_texte obtenir le contenu de textarea avec val();

Lorsque je sauvegarde le texte de php, il n'a pas de caractère \ n. Some1 peut résoudre mon problème? Merci

Répondre

3

Vous n'encombrez pas vos données, donc beaucoup de choses vont exploser (signes de pourcentage, esperluettes, ...). Soit utiliser encodeURIComponent sur chaque bit ou (ce qui est plus facile) laissez jQuery le faire pour vous:

$.get('./data/pages/admin/actions.php?savepost=1', { 
    post_id: $(box).attr('id'), 
    text: new_text 
}, 'text'); 

Voir the docs pour plus de détails sur le paramètre de données.

+0

Merci pour votre aide: D – netcelli

+0

@netcelli: Un plaisir, heureux il a aidé. –

2

Utilisez encodeURIComponent() pour coder le caractère de nouvelle ligne avec la bonne notation d'URL.

-2

avant de passer new_text essayez de le faire en premier.

new_text.replace("\r\n","%0D%0A"); 
+0

"\ n" est juste "% 0A". "\ r \ n" (nouvelle ligne de Windows) serait "% 0D% 0A"! – AndiDog

+0

Ouais ... il était trop tard pour que je m'en aperçoive ... et quand j'ai essayé d'éditer la page SO dit sous maintenance ... soupir ... – Reigel

+0

En tout cas, cela ne résout qu'une partie très étroite du problème . –