Ответ 1
azione = escape(String(azione));
должен быть
azione = encodeURIComponent(String(azione));
или просто
azione = encodeURIComponent(azione);
$. Ajax ({
тип: "POST", url: baseURL + "sys/formTipi_azioni", данные: "az_tipo =" + azione, beforeSend: function() {$ ( "# form" ). html ('
');}, success: function (html) {$ ( "# form" ). html (html);}
});
существует случай, когда azione
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");
это отправляет символ плюса с помощью регулярного выражения