У меня проблема с отправкой данных с пробелами с использованием нагрузки в jquery. Пример ниже.
<script>
function load_locations (tipo_send,value_sel) {
jQuery("#location").load("modulos/mod_register/index_register.php?send_location=ok&tipo_send="+tipo_send+"&data_loc="+value_sel+"&city_post="+city_post);
}
</script>
<?php
print "<select name='reg[pais]' id='sel_1_country' class='register_input_text' onchange=\"load_locations('region',this.value);\">";
print "<option value='reinicio' onclick=\"load_locations('reinicio',this.value);\">Seleccionar País</option>";
print "<option>London City</option></select>";
?>
Скрипт работает отлично. Проблема возникает, когда я использую «Лондон Сити» с пробелом. Когда я использую «Лондон-Сити» без пробелов, проблема не возникает.
Я старался urlencode
и т.д., но это не сработало.
использование encodeURIComponent
для кодирования ваших значений данных:
jQuery("#location").load("modulos/mod_register/index_register.php?send_location=ok&tipo_send="+encodeURIComponent(tipo_send)+"&data_loc="+encodeURIComponent(value_sel)+"&city_post="+encodeURIComponent(city_post));
Когда используешь jQuery.load()
space
используется для отделения url
и fragment
(например, идентификатор элемента) в документе, который вы хотите загрузить, а не загружать всю страницу.
Других решений пока нет …