Как использовать AJAX в Dart с async = true - PullRequest
8 голосов
/ 14 ноября 2011

Я нашел ссылку для XMLHttpRequest

  final req = new XMLHttpRequest();
  req.open('GET', '${Sections.home}/data/$name', false);
  req.send();
  _htmlBody = req.responseText; 

Полный источник

Но это для async = false, этотам рабочий пример async = true?

1 Ответ

6 голосов
/ 14 ноября 2011

Есть пример на https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/samples/belay/bcap/bcap_client.dart

  void privateInvoke(String ser, String method, String data,
                     SuccessI ski, FailureI fki) {
    if (urlRegex.hasMatch(ser)) {
      var req = new XMLHttpRequest();
      req.open(method, ser, true);
      req.on.readyStateChange.add(void _(evt) {
        if (req.readyState == 4) {
          if (req.status == 200) {
            ski(req.responseText);
          } else {
            fki(new BcapError(req.status, req.statusText));
          }
        }
      });
      req.send(data);
      return;
    } else {
      super.privateInvoke(ser, method, data, ski, fki);
    }
  }

также еще один асинхронный пример в https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/client/samples/total/src/ServerChart.dart

XMLHttpRequest request = new XMLHttpRequest();
request.on.readyStateChange.add((Event event) {
  if (request.readyState == XMLHttpRequest.DONE && request.status == 200) {
    callback("data:image/png;base64,${StringUtils.base64Encode(request.responseText)}");
  }
});
...
request.open("POST", url, true, null, null);
request.setRequestHeader("Content-type", "text/plain");
request.overrideMimeType("text/plain; charset=x-user-defined");
print("Chart request: ${data}");
request.send(data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...