Ajax的伺服器端用PrintWriter out=resp.getWriter()來響應數據的時候,out.print(0)、out.print(1)來表示成功或失敗,而不用out.write是有原因的,首先來看一下print和write兩者的異同點。 共同點是:兩者都不刷新頁面,只在原來的頁面寫 ...
Ajax的伺服器端用PrintWriter out=resp.getWriter()來響應數據的時候,out.print(0)、out.print(1)來表示成功或失敗,而不用out.write是有原因的,首先來看一下print和write兩者的異同點。
共同點是:兩者都不刷新頁面,只在原來的頁面寫數據.最終都是重寫了抽象類Writer裡面的write方法.
區別是:print方法可以將各種類型的數據轉換成字元串的形式輸出。而重載的write方法只能輸出字元、字元數組、字元串等與字元相關的數據。
所以從上邊兩者的區別就不難發現,在頁面的js代碼中的設置回調函數中,是通過從伺服器返回的值來判斷該顯示什麼的,如果伺服器端servlet中最後輸出的要是數字,而採用writ的話就不會把數字轉換成字元串的形式輸出,從而導致頁面中對這個返回值造成錯誤的判斷。
討論環境在後邊的代碼中:http://www.cnblogs.com/liujiayang/p/5775566.html