以下は、JS ダウンロードファイルの簡単な操作をまとめたものです。興味のある学生はご覧ください。
ダウンロードされたコードは次のとおりです:
var xhr = new XMLHttpRequest(); var formData = new FormData(); formData.append('snNumber', $("#snNumber").val()); formData.append('spec', $("#spec").val()); formData.append('startCreateDate', $("#startCreateDate").val()); formData.append('endCreateDate', $("#endCreateDate").val()); formData.append('startActiveDate', $("#startActiveDate").val()); formData.append('endActiveDate', $("#endActiveDate").val()); formData.append('supplier', $("#supplier").val()); formData.append('state', $("#cboDeviceStatus").val()); xhr.open('POST', vpms.ajaxUrl + vpms.manageUserUrl + "exportExcelDevices", true); xhr.setRequestHeader("accessToken", userInfo.accessToken); xhr.responseType = 'blob'; xhr.onload = function (e) { if (this.status == 200) { var blob = this.response; var filename = "设备导出{0}.xlsx".format(vpms.core.date.format("yyyyMMddhhmmss")); var a = document.createElement('a'); blob.type = "application/excel"; var url = createObjectURL(blob); a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url); } }; xhr.send(formData); });
Chrome を使用してダウンロードすると正常に実行されますが、IE Explorer 11 バージョンの Excel エクスポート ボタンが応答しないか、「この BLOB を開くには新しいアプリケーションが必要です」というポップアップが表示されます。
BLOB 処理の改善: 以下の通りです
if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, filename); } else { var a = document.createElement('a'); blob.type = "application/excel"; var url = createObjectURL(blob); a.href = url; a.download = filename; a.click(); window.URL.revokeObjectURL(url); }
現時点では、IE でのエクスポートは正常です:
上記は、私が皆さんのためにコンパイルした JS ダウンロード ファイル フローの簡単な操作です。将来。
関連記事:
検証コードを生成してjsで検証する(コード付き、簡単で粗雑、教育訓練含む)
JSでJSONデータを取得するための簡単な呼び出しについて(コード付き、単純で粗い) )
POST メソッドを使用して JS を使用してリクエストを送信する方法 (コード付きの詳細な回答)
以上がJSダウンロードファイルストリームの簡単操作(コード添付)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。