Мне нужно, чтобы URI кодировал входные данные формы, которые затем сериализовались с кучей скрытых входных данных и отправлялись в файл PHP. Можно ли каким-то образом объединить encodeURIComponent в эту строку?:
var landingCreate = $(this).serialize();
ОБНОВЛЕНИЕ:
Делая это, например:
var landingCreate = $(this).serialize()+"&enc="+encodeURIComponent($('input[name=\'longform\']').val());
и вводя URL:
http://www.smashingmagazine.com/2008/10/13/pricing-tables-showcase-examples-and-best-practices/
в текстовое поле, возвращаетURL-адрес не изменился .. разве он не должен преобразовывать все тире, косые черты и т. д. в шестнадцатеричные коды?
ОБНОВЛЕНИЕ
Вот полный код.
<form id="createTokenLanding">
<input type="text" name="longform" />
<input type="hidden" name="domain" value="<?php echo rawurlencode($_SERVER['HTTP_HOST']); ?>" />
<input type="hidden" name="useragent" value="<?php echo rawurlencode($_SERVER['HTTP_USER_AGENT']); ?>" />
<input type="hidden" name="ip" value="<?php echo rawurlencode($_SERVER['REMOTE_ADDR']); ?>" />
<input type="hidden" name="cookieuser" value="<?php echo rawurlencode($_COOKIE['littlr_user']); ?>" />
<input type="submit" name="submit" value="Shorten" />
</form>
<div id="result">
123
</div>
<script type="text/javascript">
$(document).ready(function(){
$.ajaxSetup ({ cache: false });
$('#createTokenLanding').submit(function() {
var landingCreate = $('#createTokenLanding').serialize();
$.ajax({
url: 'action-create.php',
data: landingCreate,
success: function(responseText){
$('#result').html(responseText);
}
});
return false;
});
});
</script>