我嘗試從控制器向AJAX success()回調返回數據。該代碼完美適用於100,000個對象。但是,當我將列表大小增加到1百萬個對象時,它將轉到success()回調,但返回null作爲響應。你能幫我找到回報100萬個物品的方法嗎?ajax從彈簧控制器返回大量數據的空值
A.$.ajax({
url: 'getData',
dataType: 'json',
success: function (response) {
alert(response)
}
@RequestMapping("/getData")
public @ResponseBody
\t void download(HttpServletResponse response) throws IOException, JSONException
\t {
List <Objects> list = getListFromService();
\t \t response.setContentType("application/json"); \t
\t \t PrintWriter out = response.getWriter();
\t \t ObjectMapper mapper = new ObjectMapper();
\t \t String jsonString = mapper.writeValueAsString(list);
\t \t out.print(jsonString);
\t \t out.flush(); \t
\t }
另外,爲什麼要一次返回一百萬個對象?你會如何向用戶展示這麼多數據? – nnnnnn
@nnnnnn我想把它們全部放入csv文件供用戶下載。我知道我可以在控制器的服務器端進行操作。只是想嘗試兩種方法,並找出最好的方法。但我想,我會留在服務器端文件生成 – HelloWorld
也許您的服務器正在限制響應大小 - 檢查瀏覽器**開發人員**工具控制檯和網絡選項卡的任何跡象 –