当前位置: 首页 > 知识库问答 >
问题:

使用飞镖制作 POST

益泰平
2023-03-14

我正在尝试使用DART做POST并且我收到了这个错误,现在我只想在服务器端打印消息以确保我收到了它,但我不知道如何解释错误:

    < li >在服务器端:

【警告】rpc:响应状态码:500头:access-control-allow-credentials:true access-control-allow-origin:* cache-control:no-cache,no-store,must-re validate content-type:application/JSON;charset = utf-8 expires:0 pragma:no-cache Exception:RPC错误,状态为:500,消息为:参数无效

  • 在客户端:<img src=>https://i.stack.imgur.com/x5G1Q.png“alt=”在此处输入图像描述“>

在DART的客户端,我有这样的代码:

async.Future<core.List> loadFiles(heatMapMessages request){

  var _url=null;
  var _queryParams = new core.Map();
  var _uploadMedia = null;
  var _uploadOptions = null;
  var _downloadOptions = commons.DownloadOptions.Metadata;
  var _body = null;

  if (request != null) {
    _body = convert.JSON.encode(converterClass.toJson(request));
  }

  _url = "load";
  var _response = _requester.request(_url, "POST",
    body: _body,
    queryParams: _queryParams,
    uploadOptions: _uploadOptions,
    uploadMedia: _uploadMedia,
    downloadOptions: _downloadOptions);

  return _response.then((data) => converterClass.fromJson(data));
}

并在我的服务器端接收它作为:

  @ApiMethod(method: 'POST', path: 'load')
  Future<List<String>> loadFiles(heatMapMessages filename1) async{
    print("test "+filename1.jsonInfo);
  }

共有1个答案

程修雅
2023-03-14

如果对最初加载客户端应用程序的位置不同的域执行 POST 请求,则浏览器将发送预检请求(请求类型 OPTION)。您的服务器需要处理它并正确响应,否则浏览器将无法发出实际的POST请求。

如何创建/添加向每个请求添加默认标头的中间件,显示了如何使用 shelf 包执行此操作。

您可以看到,如果请求方法是OPTIONS,它将用头响应

{
  'Access-Control-Allow-Origin': '*',
  'Content-Type': 'text/html'
}

根据您要做的事情,可能需要额外的头参数。

 类似资料:
  • 即将推出的Dart 2。X版本需要强大的键入。在处理JSON数据时,我们现在必须将动态类型转换为适当的Dart类型(不是问题)。一个相关的问题忽略从JSArray到List的强制转换失败 问题是函数似乎无法组合。使用DDC编译并在Chrome浏览器中运行时的原始代码: 现在接收运行时警告(这将很快是一个错误) 所以我添加了

  • 显然这是某种例外,但是(1)为什么我们不需要指定它的类型,(2)我可以添加什么来指定它的具体类型?例如,如何以类似于的方式处理多种类型的可能异常?

  • 我一直在使用VSCode进行颤振开发,但没有问题。今天,飞镖分析器突然抱怨说,大多数类都是未定义的,或者目标不存在。 有人见过这个吗? 我已经重新启动了VSCode,重新启动了计算机,卸载了flutter/dart插件,运行flutter dr没有任何问题……我没有想法了。 VSCode问题

  • 我已经在我的服务器上创建了一个RSA密钥对,只有服务器才会有私钥。客户端(Flatter应用程序)将访问公钥。因此,当服务器收到加密消息时,它将知道消息来自正确的客户端,并将使用其私钥解密通过公钥加密的消息。 当服务器(php7.3)向客户端发送回复时,我想在服务器端通过私钥加密消息,以便客户端可以用公钥解密消息。 非对称加密有其自身的局限性,如最大字符长度。但如果能送来就好了 Flutter包加

  • 问题内容: 请注意:我对使用Polymer对此不感兴趣; 我想使用“纯”飞镖! 我正在尝试为Dart应用程序构建一个简单的登录屏幕,并且很难将两个表单变量(和)发送到服务器端POST: 这是我的主要HTML文件(): 这是我的主要Dart文件(): 当我在浏览器中运行此程序时,我看到登录屏幕出现,但是当我单击登录按钮时,什么都没有发生,并且Firebug在交叉编译,混淆,缩小的JavaScript

  • 我已经在Android studio上安装了颤振,每当我在Android studio上导入新项目时,它会显示“Dart未配置下载Dart SDK或打开Dart设置” 到目前为止,代码还不错。 当我打开省道设置时 Idk在每个项目中尝试了什么,只有在新的颤振项目运行良好时才尝试。颤振版本是2.8.1 Dart版本是2.15.1 Android Studio Arctic Fox | 2020.3.