Dart语言:获取没有服务器端口的URI查询参数

时间:2014-08-18 00:58:55

标签: dart uri port

Dart文档侧重于通过特定服务器端口处理HTTP请求。因此,如果服务器正在侦听端口4123,那么通过向以下URI发送GET,POST或其他请求应该没问题:

http://www.somedomain.com:4123/?q=something

但是,不会处理发送到服务器/域而不指定服务器端口的查询参数,例如:

http://www.somedomain.com/?q=something

那么如何处理发送到我的服务器(地址/域)的查询参数而不指定服务器端口呢?

编辑1:

一些可能的解决方案是实现一个" URI检查器"在main方法中并检索查询(如果它存在),如下所示:

import 'dart:html';

void main() {

    // Gets the URI in order to check it for any parameters.
    var uri = Uri.parse(window.location.href);

    // Check for the parameter presence in the URI.
    if (uri.queryParameters["q"] != null) {

        // Gets the parameter content and stores it.
        var queryParamContent = uri.queryParameters["q"];

        // Check if the parameter content is empty or not.
        if (queryParamContent.isNotEmpty) {
            // Do something with the query parameter.
        } else {
            // Warn the user about the empty query.
        }
    } else {
        // There's nothing interesting to check in the URI.
    }
}

1 个答案:

答案 0 :(得分:0)

如果在没有端口的情况下无法正常工作,请在http://dartbug.com/new创建错误报告。

作为一种解决方法,您可以使用端口80,这是未设置特定端口时的默认值。