由於Ajax請求和response不一樣,得到資料後頁面不需要再渲染,所以不需要RESPONSE跳到新頁面。所以不需要RETURN,而是透過PrintWriter列印到要求的頁面 @RequestMapping(value="/checkIntegral",method = RequestMethod.GET) @ResponseBody public void checkIntegral(@RequestParam String carvallAody
public void checkIntegral(@RequestParam String carvvvvvalv {
Long integral = impl.checkIntegral(Long.valueOf(carOwnerID));
PrintWriter writer=response.getWriter();
writer.write(String.valueOf(integral));
writer.flush();
writer.close();
請求成功有資料返回,很大可能與你的返回資料格式不對有關係。因為你設定了
dataType : 'json' 预期服务器返回的数据类型
。这样往往会进入error
回調。你排除一下返回數據。而且,
error
是有三個回呼參數的,請自行列印出來。ajax 跳入error的一些原因
彈出你的回傳值,看看數據就知道了
HttpServletResponse和ajax的回呼衝突了,去掉HttpServletResponse就行。
看到你的
dataType : 'json',
要求的是伺服器回傳json格式,倘若伺服器回傳的資料不是json格式的數據,則會走進失敗的回呼中。
將你AJAX配置dataType:"text",然後用alert(data)查看回傳值
由於Ajax請求和response不一樣,得到資料後頁面不需要再渲染,所以不需要RESPONSE跳到新頁面。所以不需要RETURN,而是透過PrintWriter列印到要求的頁面
public void checkIntegral(@RequestParam String carvvvvvalv {@RequestMapping(value="/checkIntegral",method = RequestMethod.GET)
@ResponseBody
public void checkIntegral(@RequestParam String carvallAody
沒注意到這個ajax是跨域請求的 。
你的回傳值資料型別是json,你後台卻給他回傳了一個Map,把你的map轉成json