我正在尝试免费的后端即服务BaaSbox。但是它没有我可以立即使用的开箱即用的Javascript支持(但是,只有iOS和Android)
我在从javascript发送正确的curl命令时遇到问题,有人碰巧知道一个好的资源或简单的工作$ .ajax模板吗?我已尝试过stackoverflow中的一些示例,但没有一个专门针对BaaSbox。
我已尝试在其网站here上遵循Java说明。只是简单的登录工作,但我一直从服务器得到错误的响应。
或者另一方面,任何人都知道一个好的,免费的BaaSbox替代品?我只是希望能够在我自己的服务器上安装它,没有付费计划或其他任何东西。
答案 0 :(得分:2)
在下载页面中有一个JS SDK的初步版本(几天前添加)。 文档即将发布,但在zip文件中,您可以找到一个简单的示例。
例如,要执行注册:
//set the BaasBox parameters: these operations initialize the SDK
BaasBox.setEndPoint("http://localhost:9000"); //this is the address of your BaasBox instance
BaasBox.appcode = "1234567890"; //this is your instance AppCode
//register a new user
BaasBox.createUser("user", "pass", function (res, error) {
if (res) console.log("res is ", res);
else console.log("err is ", error);
});
现在您可以登录BaasBox
//perform a login
$("#login").click(function() {
BaasBox.login("user", "pass", function (res, error) {
if (res) {
console.log("res is ", res);
//login ok, do something here.....
} else {
console.log("err is ", error);
//login ko, do something else here....
}
});
用户登录后,他可以加载属于集合的文档(SDK会自动为您管理会话令牌):
BaasBox.loadCollection("catalogue", function (res, error) { //catalogue is the name of the Collection
if (res) {
$.each (res, function (i, item) {
console.log("item " + item.id); //.id is a field of the Document
});
} else {
console.log("error: " + error);
}
});
然而,在幕后,SDK使用JQuery。因此,您可以检查它以了解如何使用$ .ajax来调用BaasBox。
例如,creatUser()方法(注册)是:
createUser: function (user, pass, cb) {
var url = BaasBox.endPoint + '/user'
var req = $.ajax({
url: url,
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
username: user,
password: pass
}),
success: function (res) {
var roles = [];
$(res.data.user.roles).each(function(idx,r){
roles.push(r.name);
})
setCurrentUser({"username" : res.data.user.name,
"token" : res.data['X-BB-SESSION'],
"roles": roles});
var u = getCurrentUser()
cb(u,null);
},
error: function (e) {
cb(null,JSON.parse(e.responseText))
}
});
}