Força o download por meio de js ou consulta

É possível forçar um download através de JS ou JavaScript, ou seja, a página da web não deve abrir o arquivo em nova aba no navegador, mas para aparecer para permitir que o usuário escolha “salvar como” ou abrir com ???

Você não pode forçar esse comportamento do JavaScript, os headers HTTP precisam ser definidos no lado do servidor:

Content-disposition=attachment; filename=some.file.name 

A maneira de resolver o problema é permitir que seu método AJAX redirecione o usuário para a URL do PDF:

 location.replace('path/to.pdf'); 

(Os headers HTTP acima devem ser definidos para o PDF)


Atualizar

No momento desta resposta, não foi possível. Agora é, role para baixo para ver a outra resposta dizendo isso .

Com o advento do HTML5, você poderia simplesmente usar o novo download da propriedade na tag âncora.

O código será algo parecido

  Clicking on this link will force download the file 

Funciona no firefox e na última versão do chrome. Devo mencionar que eu não verifiquei no IE? : P

Editou o atributo de download após comentário do sstur

link de criação dynamic e clique nele com o atributo de download para download forçado como arquivo:

 var anchor = document.createElement('a'); anchor.href = this.props.download_url; anchor.target = '_blank'; anchor.download = this.props.file_name; anchor.click(); 

Anote que nem o adicionei ao DOM, por isso é rápido.

O atributo de download PS não funciona com o IE. Mas só vai abrir o link em nova aba. http://caniuse.com/#feat=download

Não, não é possível e graças a Deus não é. Caso contrário, deixo-lhe a imaginação de que tipo de arquivos podem ser armazenados em seu computador quando você visita um site sem que você saiba.

Como o @Paul D. White apontou na seção de comentários se você deseja abrir o arquivo em linha (dentro do navegador) com o programa padrão associado a ele, você pode mandar o servidor enviar o header HTTP Content-Disposition. Por exemplo:

 Content-Disposition: inline; filename=foo.pdf 

Não, isso não é possível apenas com JQuery / JavaScript.

Você precisará de um script do lado do servidor que retorne o arquivo com um Content-Type (HTTP Header) que forçará o navegador a baixar o arquivo solicitado. Um valor possível para Content-Type seria application/force-download .