我正在开发一个 dart 应用程序,它将使用我正在构建的 REST 服务。我开始编写 dart 代码来向我的登录端点执行 ajax 请求。但是,即使我的 dart ajax 请求失败,它也声称成功。
我没有启动和运行任何服务(即使我这样做了,它现在也会使用错误的域/端口),但是这段代码每次都会给出 200 OK HttpResponse:
class PlayerController {
const PlayerController();
static const String LOGIN_URL = "login";
void login(String username, String password) {
Map<String, String> headers = {"Content-Type": "application/x-www-form-urlencoded"};
String body = "j_username=$username&j_password=$password&submit=Login";
HttpRequest.request(LOGIN_URL, method: "POST", requestHeaders: headers, sendData: body)
.then((request) => processLogin(request, username))
.catchError((e) => processLoginError(e));
}
void processLogin(var whatIsThis, String username) {
query("#loginButton").text = "Logout";
//TODO get the player then set them
}
void processLoginError(var e) {
print("total failure to login because of $e");
}
}
它总是命中 processLogin 方法,从不命中 processLoginError 方法。有谁知道为什么会这样?我应该以不同的方式执行这个 ajax 请求吗?(如果你猜不出来,它将登录 Spring Security)。
我在某处读到文件系统请求总是成功的。Dart 是否以某种方式使其成为文件系统请求而不是 Web 请求?