$ .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");
этот отправляет символ плюса с помощью регулярного выражения