html5页面获取request中数据,html5 – 如何读取服务器上从客户端发送的HttpRequest数据...

本文介绍了如何在Dart中使用HTML5的HttpRequest从客户端发送数据到服务器,并在服务器端读取和处理这些数据。示例代码展示了客户端通过POST方法发送数据,以及服务器端使用StringDecoder解析并打印接收到的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

您可以使用StringDecoder从HttpRequest中的“List of Int”转换为“String”.因为无论你发送json,纯文本还是png,Dart总是以数据的形式发送数据

“服务器列表”到服务器.另一种方法是使用在Heroku Steam上测试的Streams(

http://www.dartlang.org/articles/feet-wet-streams/)v0.6.2 Dart编辑器0.4.3_r20602 Dat SDK 0.4.3.5_r26062

例如,

客户端:

import 'dart:html';

import 'dart:json' as Json;

import 'dart:async';

import 'dart:uri';

final String data = 'Hello World!';

void _sendpnG(String pngData) {

HttpRequest request = new HttpRequest(); // create a new XHR

// add an event handler that is called when the request finishes

request.onReadyStateChange.listen((_)

{

if (request.readyState == HttpRequest.DONE &&

(request.status == 200 || request.status == 0)) {

// data saved OK.

print(request.responseText); // output the response from the server

}

}

);

// POST the data to the server Async

print('Sending Photos to the server...');

var url = "/png";

request.open("POST",url);

request.setRequestHeader("Content-Type","text/plain");

request.send(data);

}

服务器:

import 'dart:io';

import 'dart:async';

import 'dart:json' as Json;

import "package:stream/stream.dart";

import 'package:xml/xml.dart' as xml;

import 'package:unittest/unittest.dart';

import 'package:rikulo_commons/mirrors.dart';

void receivePNG(HttpConnect connect){

var request = connect.request;

var response = connect.response;

if(request.uri.path == '/png' && request.method == 'POST')

{

String png='';

response.write('The server received png request!');

//read incoming List data from request and use StringDecoder to transform incoming data to string

var stream = request.transform(new StringDecoder());

stream.listen((value){

print(value);

//Hello World!

}

else

{

response.write('error');

response.statusCode = HttpStatus.NOT_FOUND;

connect.close();

}

}

configure.dart

var _mapping = {

"/": home,"/png": receivePNG,};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值