Forms 如何在Dart中从服务器写入HTML元素

Forms 如何在Dart中从服务器写入HTML元素,forms,server,dart,request,response,Forms,Server,Dart,Request,Response,我正在努力学习服务器端Dart的基础知识。当我点击HTML页面上的submit元素时,屏幕被清除并替换为“hello”。我试图保持所有元素的位置,并将“hello”放在div的位置。我还没有找到任何关于这方面的基本文档,所以我可能在这里遗漏了很多。有没有一种简单的方法可以做到这一点 以下是服务器代码: import 'dart:io'; Future main() async { var server = await HttpServer.bind( InternetAddress

我正在努力学习服务器端Dart的基础知识。当我点击HTML页面上的submit元素时,屏幕被清除并替换为“hello”。我试图保持所有元素的位置,并将“hello”放在div的位置。我还没有找到任何关于这方面的基本文档,所以我可能在这里遗漏了很多。有没有一种简单的方法可以做到这一点

以下是服务器代码:

import 'dart:io';

Future main() async {
  var server = await HttpServer.bind(
    InternetAddress.loopbackIPv4,
    8080,
  );

  await for (HttpRequest request in server) {
request.response
  ..write("hello")
  ..close();
  }
}
以下是HTML:

<form action="http://localhost:8080" method="GET">
<input type="text" id="name" value="name">
<input type="submit" value="submit">
</form>
<div id="output"></div>  // I want the "hello" to go here

//我想让“你好”在这里出现

构建从其他web应用程序中提取数据的web应用程序非常常见,这是由执行对第三方服务的HTTP调用的逻辑启动的

让我们看看如何使用内置的HttpRequest类对外部服务进行HTTP调用

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>A Minimalist App</title>
  </head>

  <body>
     <div id="output">Hi</div>  // I want the "hello" to go here
    <script type="application/dart" src="main.dart"></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>
欲了解更多信息,请访问


谢谢,希望对您有所帮助。

您是否看到此示例:?由多个任务组成。类似于从客户端发送http get(上面的代码)。b) 在服务器上接收http get(上面的代码)。c) 从服务器发送响应(上面的代码)。d) 在客户机上接收。e) 在dom元素中显示接收的数据。步骤a、b、c和d可以通过chrome开发工具或简单的打印语句进行验证。这和你的项目相符吗?是的。我同意这些步骤,但无法到达d和e。我认为很明显,这必须通过客户机中的dart代码来完成。这本身就有帮助。我只是找不到任何让上述方法发挥作用的例子。我认为这与更改服务器端设置有关,但同样,这并不清楚。谢谢。这是非常有用的,但它不能回答问题。具体地说,我试图了解表单元素的行为,以及它如何与服务器交互(如果可能的话)。我可能对形式元素有一个基本的误解。你的例子很有帮助,但并不完全有效。发生的情况是,响应被发送到div元素,但随后屏幕发生变化,响应一起出现在新页面上。
import 'dart:html';
void main() {
  var response = await HttpRequest.getString('http://localhost:8080')
  querySelector('#output').text = response;
}