2009-12-30 8 views
0

il y a une zone de texte sur la page. et j'envoie sa valeur via ajax.Problème de caractère spécial en ajax et javascript

var text = $("textarea#text").val(); 

var dataString = 'text='+ text; 


     $.ajax({ 
     type: "POST", 
     url: "do.php?act=save", 
     data: dataString, 
     cahce: false, 
     success: function() { 

        //success 


      } 

    }); 

si la valeur textarea est qqch comme ça black & white, il casse le texte après la black

si elle est qqch comme ça black + white il sort comme black white

Comment puis-je éviter cela?

thx

Répondre

1

Vous devez encode le texte, mais je pense est préférable d'utiliser un objet plutôt que d'une chaîne en tant que membre data, jQuery fera le travail de codage correctement le POST/paramètres GET:

var text = $("textarea#text").val(); 
var dataObj = {"text": text}; 
$.ajax({ 
    type: "POST", 
    url: "do.php?act=save", 
    data: dataObj, 
    cache: false, 
    success: function() { 
    //success 
    } 
}); 
0

Ou JSON.stringify qui convertit un objet JSON à la représentation de chaîne.

0

vous pouvez le faire en utilisant l'objet JSON

par exemple: [{ "AttributeId": "4035", "Valeur": "Street & House"}]

ou vous pouvez utiliser UrlEncode avant après

Questions connexes