Gostaria muito de receber a sua opinião / conselhos sobre o seguinte
Cenário
HTML tem arquivo PDF apelido, back-end tem URL para cada nick.
O link URL é sempre download.php? O =% PDF_Nick% para garantir a transferência para JS clientes com mobilidade condicionada.
Para JS clientes habilitados eu faço chamada JQuery AJAX e reescrever URL link de download.php? O =% PDF_Nick% a http://mysite.com/requestedPFF.pdf para ativar transferência a partir do cliente. I set async: false para permitir AJAX obter nova url.
Problema
AJAX retorna roteiro válido reescrever JS variável url, mas location.href corre novamente para a URL inicial, criando chamada back-end adicional
Você acha que isso está relacionado com o bug ignorando async: false, definição ou é erro que eu fiz e perdeu para pegar?
Agradeço antecipadamente
Código HTML
<A href = / download.php o = PDF_A? Onclick = javascript: Download ( 'PDF_A') > Baixar </a>
código JS
Download função (o) { var url = download.php o =? + o; $ .ajax ({ digite: GET, url: download.php ajax = true, dados: o = + o async: false, dataType: script }); // se AJAX tem o URL de download espero download real para começar: location.href = URL; }
back-end código (download.php)
$ MyPDF = matriz (); $ MyPDF [ PDF_A] = PDF_A.pdf; .... $ Url = http://mysite.com/. $ MyPDF [ PDF_A]; ... if ($ _GET [ ajax] === true) { // substituir JS variável url print ( 'url = '. $ url. ';'); } outro { cabeçalho (. Localização: $ url); header ( Connection: close); }