我使用 Parse.com 作为我的服务器解决方案。我正在我的 dart.html 标题部分加载他们的 framework.js。
首先,一切(CRUD)在 Dartium 中运行良好。现在我的目标是让它也可以编译成 javascript。
我需要做的第一件事是使登录工作。用于初始化和登录的 Parse 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 控制台中的完整错误如下所示:
未捕获的类型错误:将循环结构转换为 JSON js.dart:1043
$.Proxy__forward js.dart:1043
$$.Proxy.noSuchMethod$1 js.dart:1033(匿名函数)
$.main tabort.dart:21
$.main0 tabort。 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。现在一切正常!