JQuery ajax звонит с '+' знак

$.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);}  
     });

существует случай, когда azione

TB+ 

знак "плюс" не становится ОТПРАВЛЕННЫМ вообще, пробел отправляется. Я уже попробовал это:

azione = escape(String(azione));

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

12
задан Henrik Petterson 16 April 2018 в 14:06
поделиться

5 ответов

azione = escape(String(azione));

должен быть

azione = encodeURIComponent(String(azione));

или просто

azione = encodeURIComponent(azione);
16
ответ дан 2 December 2019 в 03:09
поделиться

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

$.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 за вас.

14
ответ дан 2 December 2019 в 03:09
поделиться

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

9
ответ дан 2 December 2019 в 03:09
поделиться

Вместо того, чтобы пытаться составить данные публикации самостоятельно, вы также можете позволить 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);}  
 });
6
ответ дан 2 December 2019 в 03:09
поделиться

вы ищете encodeURIComponent

3
ответ дан 2 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: