2011-04-15 46 views
1

我有一個使用GWT創建的web應用程序,它通過http請求與php文件進行交互。我做下面的PHP文件的請求: http://localhost/bibliotheek/php/addUser.php?username=username.test2&group=test&admin=false&password=&topadmin=falsehttp請求後GWT中未捕獲的異常

當我這樣做是託管模式(編譯這麼之後)我得到以下異常:

未捕獲的異常:[異常... 「 'java.lang.NumberFormatException:對於 輸入字符串: 「」' 當調用方法: [nsIDOMEventListener ::的handleEvent] 「 nsresult: 」0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)「 位置:」 JS幀:: 鉻://螢火蟲/內容/ spy.js :: callPageHandler ::行744" 的數據: 無]

線0

我得到這個例外,僅此要求,不與其他請求。我就與下面的代碼請求:

protected void addUserToTheDatabase(String[] data) { 


    String file = "addUser.php?username=" + data[0] + "&group=" + data[1] + "&admin=" + 
        data[2] + "&password=" + data[3] + "&topadmin=" + data[4]; 

    request object = new request(); 
    object.getMessageXml(file, "GET", "null", new AsyncCallback<String>() { 

     @Override 
     public void onFailure(Throwable caught) { 
      new UserInterface.notification(BibPhp.error.INTERNET_CONNECTION); 
      caught.getMessage(); 
     } 

     @Override 
     public void onSuccess(String result) { 

      if(Integer.parseInt(result) == 0) { 
       new UserInterface.notification("Deze gebruikersnaam is reeds in gebruik."); 
      } 
      else { 
       new UserInterface.notification("Gebruiker toegevoegd."); 
      } 
      new add(false); 
     } 
    }); 
} 

我不知道我做錯了,因爲所有其他要求或確切一樣的,只是到其他文件。 php文件不會生成響應,因此可以產生任何影響。

任何其他遇到此問題或有任何建議的人?

在此先感謝。

回答

1

在您的onSuccess方法中,您執行Integer.parseInt(result)。如果結果的值是「」,你可能會得到上述例外。我會確認結果的值實際上是一個數字而不是一個空字符串。您也可以嘗試...捕捉parseInt調用以捕獲NumberFormatException並通知用戶。

+0

好的我會嘗試 – 2011-04-15 20:34:42