2016-08-11 10 views
0

ページ内のそれぞれのテーブルのCSVファイルをダウンロードする必要があります。私はDownloadの後に何もする必要はありません。単にExportと言うだけで、データはCSVファイルにダウンロードされます。 バックエンドコードは準備ができていますが、POSTを使用してどのように行うのですか。POST FORM/AJAXを使用してファイルをダウンロードしますか?

私は多くの提案を参考にして、window.openを使用しようとしましたが、POSTはそこに問題があるようです。 最後にFORMの作成を試みたが、今の問題は、私が

"415 unsupported media type" 

マイリクエストヘッダを取得している今、私はこの私のコンテンツタイプをJSONに設定する必要が修正することです理解し、それが何

Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Encoding gzip, deflate 
Accept-Language en-US,en;q=0.5 
Connection keep-alive 
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 
Content-Length 112 
Content-Type application/x-www-form-urlencoded 

フォームPOSTでは不可能ですか?

1)ファイルをダウンロードするためのより良い方法がありますか(HTMLとJSを使用したシングルページAPPの場合)?ライブラリはありません.Javascript Wayは、私のプロジェクトではライブラリの承認を得ることができません。

2)上記の問題を解決するにはどうすればよいですか?他のオプションは何ですか?

コード:

var form = document.createElement("form"); 
    form.id = formId; 
    form.action = url; 
    form.method = method || "POST"; 
    form.target = target || "_self"; 
    if (data) { 
     for (var key in data) { 
      var input = document.createElement("textarea"); 
      input.name = key; 
      input.value = typeof data[key] === "object" ? JSON.stringify(data[key]) : data[key]; 
      form.appendChild(input); 
     } 
    } 
    form.style.display = 'none'; 
    $('#' + containerId).append(form); 
    if (!self.isEmptyObject(data)) { 
     form.submit(); 
    } 

答えて

-1

ここで私はすべてに必ず役立つ作る一例を行っている:

<form name="myform" id="myform" method="post" enctype= "multipart/form-data"> 
    <input name="uploadData" id="uploadData" type="file"/> 
</form> 

$("#uploadData").change(function (e) { 
    $('.loading').show(); 
     var file_data = $('#uploadData').prop('files')[0]; 
     var form_data = new FormData(); 
     var csvhtml = ''; 
     form_data.append('file', file_data); 
     $.ajax({ 
      url: '{{path('bulk_request_update_upload')}}', 
      dataType: 'text', 
      cache: false, 
      contentType: false, 
      processData: false, 
      data: form_data, 
      type: 'post', 
      success: function (data) { 
     } 
    }); 
}); 
+0

このコードはアップロード用です。 –

0

修正はRESTエンドポイントから要求された

はコード

の下に含めます
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_FORM_URLENCODED}) 

に変更し、パラメータを

に変更しました
public javax.ws.rs.core.Response getExceptionDetailLogs(final @FormParam("param1") String param1, 
    final @FormParam("param2") String param2) throws Exception { 
    .... 
} 
関連する問題