Jquery ajax call с знаком «+»

$ .ajax ({
type: «POST», url: baseURL + «sys / formTipi_azioni», данные: «az_tipo =» + azione, beforeSend: function () {$ ("# form"). html ('

');}, success: function (html) {$ ("# form"). html (html);}
});

есть случай, когда азион

TB+ 

знак плюса вообще не получает POSTED, пустое пространство отправляется. Я уже пробовал это:

 azione = escape(String(azione)); 

Без везения. Кто-нибудь знает, как это исправить?

спасибо

 azione = escape(String(azione)); 

должно быть

 azione = encodeURIComponent(String(azione)); 

или просто

 azione = encodeURIComponent(azione); 

Попробуй это:

 $.ajax({ type: "POST", url: baseURL + "sys/formTipi_azioni", data: { az_tipo: azione }, beforeSend: function(){ $("#form").html('<p><img src="'+baseURL+'lib/img/ajax-loader.gif" width="16" height="16" alt="loading" /><p>'); }, success: function(html){ $("#form").html(html); } }); 

и оставьте jQuery кодировкой url для вас.

Никогда не используйте escape() . Используйте encodeURIComponent() .

Вместо того, чтобы сами пытаться составлять данные сообщения, вы также можете позволить jQuery выполнить работу, передав ей объект:

 $.ajax({ type: "POST", url: baseURL+"sys/formTipi_azioni", data: {az_tipo: azione}, beforeSend: function(){$("#form").html('<p><img src="'+baseURL+'lib/img/ajax-loader.gif" width="16" height="16" alt="loading" /><p>');}, success: function(html){$("#form").html(html);} }); 

вам нужен encodeURIComponent

 escape(String(azione)).replace(new RegExp( "\\+", "g" ),"%2B"); 

этот отправляет символ плюса с помощью регулярного выражения