服务器端Dart是否支持PHP中的会话:
<?php
session_start();
$_SESSION['fruit'] = 'apple';
Run Code Online (Sandbox Code Playgroud)
页面加载时保留数据.
是Dart支持在PHP中或多或少的会话.
让我们编写一个简单的程序,将苹果和香蕉之间的水果随机化,并将选择保存到会话中.
import 'dart:io';
import 'dart:math';
// A method that returns "apple" or "banana" randomly.
String getRandomFruit() => new Random().nextBool() ? 'apple' : 'banana';
main() {
var server = new HttpServer();
server.defaultRequestHandler = (HttpRequest req, HttpResponse res) {
// Initialize session with an empty {} object as data.
var session = req.session((s) => s.data = {});
// Save fruit to session if there is nothing in there.
if (session.data['fruit'] == null)
session.data['fruit'] = getRandomFruit();
// Retrieve fruit from the session.
var fruit = session.data['fruit'];
res.outputStream.writeString("Your fruit: $fruit", Encoding.UTF_8);
res.outputStream.close();
};
server.listen('127.0.0.1', 80);
}
Run Code Online (Sandbox Code Playgroud)
现在,当您运行代码并转到时http://localhost,只要会话保持打开,每次看到相同的水果,因为我们将水果保存到会话中.
笔记:
HttpRequest类具有这种方法session(),其初始化(或返回)的HttpSession实例.HttpSession有一个叫做财产data,但你可能要初始化它首先是一个空的{}.| 归档时间: |
|
| 查看次数: |
411 次 |
| 最近记录: |