Dart 如何使用Rikulo流将数据从客户端发送到服务器

Dart 如何使用Rikulo流将数据从客户端发送到服务器,dart,rikulo,Dart,Rikulo,我正在尝试使用Rikulo流,当我想将数据从客户端发送到服务器时遇到了一些问题。 假设我有一个注册表,我想发送一个请求来检查我的数据库中是否已经存在该用户名。 我采用了MVC模式,所以我希望控制器接收数据,然后使用dao类检查用户名是否存在 在客户端,我有以下几行代码 InputElement username=query('#username'); document.query(“#submit”).onClick.listen((e){ HttpRequest请求=新建HttpRequest

我正在尝试使用Rikulo流,当我想将数据从客户端发送到服务器时遇到了一些问题。 假设我有一个注册表,我想发送一个请求来检查我的数据库中是否已经存在该用户名。 我采用了MVC模式,所以我希望控制器接收数据,然后使用dao类检查用户名是否存在

在客户端,我有以下几行代码

InputElement username=query('#username');
document.query(“#submit”).onClick.listen((e){
HttpRequest请求=新建HttpRequest();
var url=“/check existing username”;
open(“POST”,url,async:true);
setRequestHeader(“内容类型”、“应用程序/json”);
send(stringify({“user”:username.value}));
});
这是发送数据的正确方式吗

这是我的服务器端代码

void main(){
控制器=新控制器();
var_映射={
“/”:controller.home,
“/home”:controller.home,
“/检查现有用户名”:controller.checkUsername
};
新建StreamServer(uriMapping:_mapping).start();
和我的控制器方法

void checkUsername(HttpConnect){
//如何访问从客户端接收的数据?
}
dao类已经定义,所以我只想知道如何访问数据


我希望有人能帮助我。

因为您正在使用POST,JSON数据将在HTTP请求的主体中。您可以在那里检索它。有一个名为的实用程序。您可以按如下方式使用它

import "package:rikulo_commons/convert.dart";

Future checkUsername(HttpConnect connect) {
  return readAsJson(connect.request).then((Map<String, String> data) {
      String username = data["user"];
      //...doa...
  });
}
import“包:rikulo_commons/convert.dart”;
未来检查用户名(HttpConnect){
返回readAsJson(connect.request){
字符串用户名=数据[“用户”];
//…不。。。
});
}
请注意,读取请求的主体是异步的,所以您必须返回一个将来的实例来指示何时完成