1

サーバー ソリューションとして Parse.com を使用しています。私はdart.htmlヘッダーセクションにframework.jsをロードしています。

まず、すべて(CRUD)がDartium上でうまく動作します。今の私の目標は、javascript にコンパイルして動作させることです。

最初に行う必要があるのは、ログインを機能させることです。初期化とログインのための解析 JS は次のとおりです。

Parse.initialize("appid", "appkey");

Parse.User.logIn("myname", "mypass", {
  success: function(user) {
    // Do stuff after successful login.
  },
  error: function(user, error) {
    // The login failed. Check error to see why.
  }
});

そして、これが Dart での更新された試みです。私は縮小されたオプションで実行していません。

import 'dart:html';
import 'package:web_ui/web_ui.dart';
import 'package:js/js.dart' as js;

void main() {

  js.context.Parse.initialize("appid", "appkey");

  js.context.Parse.User.logIn("myname","mypass", js.map({
    "success": new js.Callback.once((user){
      print("success");
    }),
    "error": new js.Callback.once((user, error){
      print("error");
    }),
  }));
}

Dartium でうまく機能し、「成功」と表示されます。

JavaScript にコンパイルすると、Safari で次のエラーが発生します: JSON.stringify は循環構造をシリアル化できません。

Google Chrome コンソールの完全なエラーは次のようになります。

キャッチされていない TypeError: 循環構造を JSON に変換 し て い
ますhtml_bootstrap.dart:8 $$._IsolateContext.eval$1 isolate_helper.dart:265 $.startRootIsolate isolate_helper.dart:89 (無名関数) tabort.html_bootstrap.dart.js:13949





ヘルプ、または正しい方向に向けていただければ幸いです。

編集:最新の連続ビルドをダウンロードしました: 0.1.2_r22610。これですべてが機能します!

4

1 に答える 1

2

このJSコードに対応するDartコード:

Parse.User.logIn("myname", "mypass", {
  success: function(user) {
    // Do stuff after successful login.
  },
  error: function(user, error) {
    // The login failed. Check error to see why.
  }
});

は :

js.context.Parse.User.logIn("myname", "mypass", js.map({
  'success': new js.Callback.once((user) {
    // Do stuff after successful login.
  }),
  'error': new js.Callback.once((user, error) {
    // The login failed. Check error to see why.
  })
}));

DartコードをJSにコンパイルする場合は、問題 9283のため、 --minifyオプションを使用しないでください。

EDIT:あなたの問題(JSON.stringifyは循環構造をシリアライズできません)はr22598から消えるはずです(https://groups.google.com/a/dartlang.org/d/msg/misc/zZ8Sx5rojis/UddCmmnaYTkJを参照)

于 2013-05-10T11:53:42.300 に答える