com.google.gwt.user.client.Window 如何从answer中获取Http状态码?
com.google.gwt.user.client.Window How to get Http status code from answer?
我使用com.google.gwt.user.client.Window.open(String url, String name, String features)
从服务器下载文件。
当服务器的结果是 200 OK
- 我正在获取文件时,一切都很好。
当服务器的结果不同于 200 OK
时,问题就出现了,例如:500 Internal Server Error
,或 401 Unauthorised
。然后我变得丑陋 Tomcat 包含有关问题信息的错误页面。
我想捕获不同于 200 OK
的每个状态代码并显示我自己的信息或重定向到 f.e。 Login Page
.
我怎样才能做到这一点?
要实现所需的功能,首先我们需要检查服务器上是否存在文件。我们可以通过简单的 head 请求来做到这一点。这是 same
的示例代码
XMLHttpRequest req = XMLHttpRequest.create();
req.open("HEAD", fileURL);
req.setOnReadyStateChange(new ReadyStateChangeHandler() {
@Override
public void onReadyStateChange(XMLHttpRequest xhr) {
if (xhr.getReadyState() == XMLHttpRequest.DONE) {
if (xhr.getStatus() == 200) {
Window.open(fileURL, winTitle, "");
} else {
// TODO handle other status codes
}
}
}
});
req.send();
我使用com.google.gwt.user.client.Window.open(String url, String name, String features)
从服务器下载文件。
当服务器的结果是 200 OK
- 我正在获取文件时,一切都很好。
当服务器的结果不同于 200 OK
时,问题就出现了,例如:500 Internal Server Error
,或 401 Unauthorised
。然后我变得丑陋 Tomcat 包含有关问题信息的错误页面。
我想捕获不同于 200 OK
的每个状态代码并显示我自己的信息或重定向到 f.e。 Login Page
.
我怎样才能做到这一点?
要实现所需的功能,首先我们需要检查服务器上是否存在文件。我们可以通过简单的 head 请求来做到这一点。这是 same
的示例代码XMLHttpRequest req = XMLHttpRequest.create();
req.open("HEAD", fileURL);
req.setOnReadyStateChange(new ReadyStateChangeHandler() {
@Override
public void onReadyStateChange(XMLHttpRequest xhr) {
if (xhr.getReadyState() == XMLHttpRequest.DONE) {
if (xhr.getStatus() == 200) {
Window.open(fileURL, winTitle, "");
} else {
// TODO handle other status codes
}
}
}
});
req.send();