私が構築している REST サービスを使用するダーツ アプリケーションを開発しています。ログイン エンドポイントに対して ajax リクエストを実行するために、dart コードを書き始めました。ただし、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 リクエストを別の方法で実行する必要がありますか? (推測できなかった場合は、春のセキュリティにサインインしています)。
ファイルシステムのリクエストは常に成功するとどこかで読みました。Dart は何らかの形でこれを Web リクエストではなくファイル システム リクエストにしていますか?