1

我无法使用 core-ajax-dart 将 JSON 数据发送到我的自定义 REST 服务器。我可以使用以下内容成功发送 JSON 数据

var host = window.location.hostname;
var data = JSON.encode(rows);
HttpRequest.request('http://$host:9999/services/directory/items/$instanceId', method: 'POST', mimeType: 'application/json', sendData: data).catchError((obj) {
  print(obj);
}).then((HttpRequest val) {
  print('response: ${val.responseText}');
}, onError: (e) => print("error"));

但是当我尝试用 core-ajax-dart 做同样的事情时,

<core-ajax-dart id="ajax"
  response="{{ response }}"
  handleAs="json"></core-ajax-dart>

$['ajax']
  ..url="http://$host:9999/services/directory/items/$instanceId"
  ..method = 'POST'
  ..contentType = 'application/json'
  ..body = JSON.encode(rows)
  ..go()
  ;

它失败了

Failed to load resource: the server responded with a status of 405 (Method Not Allowed)

有人可以告诉我我在这里做错了什么,据我所知,core-ajax-dart 方法应该像宣传的那样工作吗?

澄清:我已经在使用 CORS,第一个 HttpRequest.request 工作正常,只是在尝试使用 core-ajax-dart 发布时不行

4

1 回答 1

0

似乎您需要在服务器上设置 CORS 标头。

请参阅
- DART 中的客户端与 PHP 中的服务器通信:访问控制允许缺少原始标头
- dart-server/angulardart 和 CORS 的问题
-使用 Dart 的 CORS,我如何让它工作?

于 2014-08-26T21:07:39.680 回答