0

ボタンを作成する必要があります。ボタンをクリックすると、次のようなフォームがあれば同じように表示されます。

<form action="myscript.php" method="post">
    <input type="hidden" name="items[]" value="..." />
    <input type="submit">
</form>

送信をクリックしました。PHP側では、適切なヘッダーを使用して強制ダウンロードを行います。

ここでフォームを使用できない理由は、パラメーターがたくさんあり、HTMLマークアップでフォームタグを使用するのがそれほど簡単ではないためです。さらに、これらのパラメータは動的に作成されるため、...

しかし$.ajax、もちろん使用した場合、それは機能しません。このajaxリクエストでphp応答を取得しますが、ブラウザーはファイルのダウンロードを開始しません。

助言がありますか?

4

2 に答える 2

1

ダウンロードページにリダイレクトするだけです。そのページに正しいヘッダーがある場合は、表示されているページは変更されません。プロンプトを表示してファイルをダウンロードするだけです。

于 2012-09-18T20:54:09.770 に答える
1

簡単な答え:GETを使用しないでください。代わりにPOSTを使用してください!

<script>
 var info = ""; // Somewhere for the response to go
 var obj = $.post(
             raw_url,
             { var1:value1, var2:value2 },
             function(data) { info = data; } );
</script>

PHP側では、配列ベースのデータを配列として受け取ります(したがって、value2がjavascript配列の場合、PHPでも配列として受け取ります)。

于 2012-12-22T12:01:58.893 に答える