Reschedule variable via GET jQuery URL

0

I have the following jQuery

$(".quantidade_lotes").change(function() {
    var quantidade_linhas = $("#quantidade_linhas").val();
    var quantidade_lotes = $(".quantidade_lotes").val();
    var mensagem = $("#mensagem").val();

    var url = "php/lotes.php?linhas=" + quantidade_linhas + "&lotes=" + quantidade_lotes + "&mensagem=" + mensagem;
    setTimeout(function(){
        $('.lotes_lista').load(url);
    },3000);    
});

I have the message field: When I type a "test" message, I can retrieve it and forward it to the url, normal and retrieve it inside PHP via GET, but if I type a larger message that contains spaces and etc., I can only recover from the field, but I can not get the message in the URL.

How can I recover this message with spaces? I thought of turning it into HTML, or some form, so I can pass on this variable?

    
asked by anonymous 26.10.2016 / 20:54

1 answer

2

I would recommend that you use an ajax call instead of load.

var quantidade_linhas = $("#quantidade_linhas").val();
var quantidade_lotes = $(".quantidade_lotes").val();
var mensagem = $("#mensagem").val();

$.ajax({
  url: 'php/lotes.php',
  type: 'GET',
  dataType: 'html',
  data: {
    linhas: quantidade_linhas,
    lotes: quantidade_lotes,
    mensagem: mensagem
  },
})
.done(function(ret) {
  console.log("success");
  $('.lotes_lista').html(ret);
})
.fail(function() {
  console.log("error");
})
.always(function() {
  console.log("complete");
});

And this error occurs because of url encoding, which does not accept spaces. Read more about it here link

    
26.10.2016 / 21:15