今日私たちが遭遇した問題について話しましょう
Excel をエクスポートするプロセスでは、ボタンを押した後に大量のデータをバックグラウンドに転送する必要があります。最初のアプローチは次のとおりです。
上記のデータは非常に長い文字列です。
Firefox、Google Chromeでは問題ないのですが、IE9では正常にエクスポートできません(他のIEでは試していないので同じはずです)
この問題の原因は、ブラウザによって URL 解析の長さ制限が異なるため、IE が最も小さいため、問題が発生したためです。
Microsoft Internet Explorer (ブラウザ)
IE ブラウザの URL 制限は 2083 文字です。この数値を超えると、送信ボタンは応答しません。
Firefox (ブラウザ)
Firefox ブラウザの URL の長さ制限は 65,536 文字です
Safari (ブラウザ)
URL の最大長制限は 80,000 文字です。
Opera (ブラウザ)
URL の最大長は 190,000 文字に制限されています。
Google (クローム)
URL の最大長は 8182 文字に制限されています
ここで、WEB サーバーにも URL の長さの制限があることにも注意してください。 !
そのため、Get メソッドは使用できなくなり、post を使用して値を渡す方法しか見つかりません。適切かどうかわかりませんが、アドバイスをお願いします。つまり、この機能は実現できます
このアイデアは、post を使用して長い文字列をバックグラウンドに転送し、セッションに保存してから、post のコールバック メソッドで window.location.href
を使用することです。コードは次のとおりです: