我有一个使用GWT创建的Web应用程序,它通过http请求与php文件交互。我向以下php文件发出请求: http://localhost/bibliotheek/php/addUser.php?username=username.test2&group=test&admin=false&password=&topadmin=false
当我在托管模式下执行此操作时(编译后),我得到以下异常:
未被捕的例外:[例外...... “'java.lang.NumberFormatException:For 输入字符串:“”'调用方法时: [nsIDOMEventListener ::的handleEvent]” nsresult:“0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)” 位置:“JS框架:: chrome://firebug/content/spy.js :: callPageHandler :: line 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文件不会生成响应,因此可以产生任何影响。
遇到此问题的任何其他人或任何建议?
提前致谢。
答案 0 :(得分:1)
在onSuccess方法中,执行Integer.parseInt(result)。如果结果的值为“”,则可能会得到上述异常。我确认结果的值实际上是一个数字,而不是一个空字符串。你也可以试一试...抓住parseInt调用来捕获NumberFormatException并通知用户。