今天做一個簡單的增加資料,通過Jquery的Post方法,把Json資料傳到Jsp後台,處理後卻怎麼都不進入回呼函數,
$.post("addGs.do","x=" + JSON.stringify(x) ,function(d){ alert('成功'); } ,"json" );
透過FF調試發現回傳資料正常,200Ok,
沒辦法,又看看Jquery API,說如果最後的參數是Json時,要求回傳的資料是Json格式,
會不會是返回的Json不標準呢?
想起現在Json一般要求Key與Value都要用雙引號,
馬上改程式碼
try{ d.add(gs); out.println("{\"s\":\"ok\"}"); } catch(Exception e) { out.println("{\"s\":\"err\"}"); e.printStackTrace(); }
這次終於成功了.
Post方法在Json方式下,必須用嚴格的Json格式才能進入回調,如果用Text方式,就沒這樣的要求了