2012-03-13 11 views
0

jqueryイベントによって呼び出されたときにPHPページから返されたファイルをダウンロードしたいとします。私はを挿入するとそのトリックを行うことができますが、w3schoolではこのタグは推奨されていません。私は他の解決策があるのだろうかと思います。JQuery/Phpを使用してファイルをダウンロードする

私は、ダウンロードをトリガーするイベントは単純なモーダルを使用するモーダルウィンドウからのボタンであると言っても過言ではないかと思います。私はイベントの後にそのウィンドウを開いたままにしておきたい。

PHPでファイルをダウンロードするのは初めてです。これを実現する簡単な方法があるかもしれないので、私はそれを知らないのです。

+2

理由だけで、あなたもダウンロードが新しいウィンドウ/タブで開くことを確認するために「空白_」=ターゲットを使用することができ、ダウンロードURLにユーザーをリダイレクトし、以来ませんリンクはちょうどファイルのURLです、そして、ウィンドウ/タブはすぐにそれ自身を閉じます – deltree

+0

私はPHPを使用しました。そして、私が設計したやり方では、ダウンロードをクリックするだけで良いと思っており、beignのリダイレクトよりもダウンロードが始まります。 – maniak

+0

[w3fools](http://w3fools.com) –

答えて

0

PHPを使用して、特定の権限のもとでファイルにリダイレクトすることができます。

<?php 
    if($username == "soandso") { 
     header("Location: download.exe"); 
    } 
?> 

また、タグは推奨されていません。古いブラウザと新しいブラウザではまだ動作します。

+0

ファイルをダウンロードするとダウンロードが始まります...クロムのように、画面の下部にダウンロードが始まります。それは生きていることを知っていて、うまくいきますが、w3schoolでは非難されています。だから私は、廃止されたタグを使用していない別の "クリーン"なソリューションがあるのだろうかと思いました。 – maniak

+0

PHPはサーバー側のプログラミング言語です。クライアントに強制的にファイルをダウンロードさせることはできません。できることはブラウザにリダイレクトされ、ブラウザがそれをダウンロードして前のページに戻すだけです。 – Anonymous

+0

事を明確にしてくれてありがとう、しかし、このソリューションはjQueryでajax呼び出しを使用してどのように動作するのですか? – maniak

1

ボタンをクリックすると強制的にダウンロードされる代替のphpファイルを作成することができます。これは役立つかもしれないPHP のヘッダーを使用します。 headers

+0

はい、ありがとう、実装しようとしていたソリューションですが、このメソッドでiframeを使用してユーザーを同じページに保つ必要があるため、私は確信していました。 – maniak

+0

$ .getまたは$。postを使ってそのPHPファイルを呼び出すことができます。いくつかのトリガーパラメータを送信すると、別のページを開くことはできません。 –

+0

私が正しいかどうかは分かりませんが、$ .getと$ .postはヘッダーではなくhtmlコンテンツを受け取ることを期待しています...もっと徹底的に試してみましょう – maniak

関連する問題