2010-12-07 32 views
0

J'ai ce scriptjquery problème d'encodage ajax

var htm = function(){return $('#home_page_frame').html().trim()}; 

var data = { 
    type: "POST", 
    url: "save_changes.php", 
    data: "par="+ htm(), 
    success: function(msg){ 
    alert('OK') 
    } 
}; 
$.ajax(data); 

Save_changes.php

echo $_POST; 

Le problème est que si htm() est =-'Save & Exit' ou 'Save & Exit' il ne retourne que le Save et (je pense il peut utiliser le & comme nouveau paramètre de publication

J'ai essayé d'encoder le décodage, c'est en faisant ma rubrique SOS pls.

Répondre

1

Laissez jQuery coder les données en passant dans un objet, comme celui-ci:

data: { par: htm() }, 

De cette façon que & est encodée à un %26 comme ceci: Save%20%26%20Exit. Qu'est-ce que l'utilisation d'un ojet fait vraiment sous les couvertures appelle encodeURIComponent(), comme ceci:

data: "par="+encodeURIComponent(htm()) 
+0

Je voudrais pouvoir de demander plus tôt et moi-même sauvé un mal de tête et quelques heures :) thnx – Val