私は、たくさんのデータを受け入れるテキストエリアを持っています。私は$ .ajaxを介してそれを処理し、KMLを生成するPHPスクリプトに提出します。ファイルを強制的にJQuery経由でダウンロードする
var pData = $("textarea#data").serialize();
$.ajax(
{
type: "POST",
url: "tools.php?mode=process",
data: pData,
success: function(data)
{
window.location.href = "tools.php?mode=download&"+pData;
});
});
私はますます多くのデータを取得するまでこれはうまくいきました。これで、URIが大きすぎるというエラーが表示され、ファイルを強制的にダウンロードする代替手段を見つけようとしています。 $ .post()も使ってみましたが、強制的にダウンロードすることはできません。コメント欄での議論をフォローアップ
は、なぜあなたはURLを通じて再びスクリプトにすべてのデータを送信し、されていますか? 'process'は何とかデータを保存しませんか? –
正確に 'pData'で渡しているのはなぜですか?同じデータをPOSTとQST経由で渡すために2つの別々の呼び出しを使用するのはなぜですか?ダウンロードが開始されたときと同じ呼び出しで処理できるようです。 –
@ペッカ私は本当にわかりません。私の脳は機能しません。しかし、あなたは良い点を提起し、これを解決する方法について私に確固たるアイデアを与えます。 @Quintinこれは、一連のランダムなデータビットの直列化された文字列です。 – Nathan