1

我是 javascript 和 stackmob 的初学者。如何使用 javascript 从 stackmob 为我的网页(仪表板)获取数据?我也试图更新数据,但我没有成功。

这是我将 'done' 的值从 'false' 更新为 'true' 的代码:

    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://static.stackmob.com/js/stackmob-js-0.9.1-bundled-min.js"></script>
    </head>
    <body>
    <script type="text/javascript">
    StackMob.init({publicKey: "my_key",apiVersion: 0});
    </script>
    <script type="text/javascript">
    var newtask = new task({ newtask_id: 'my_id_primarykey' });
    newtask.save({done:true},{
    success: function(model, result, options) {
    console.debug(model.toJSON());}
    error: function(model, result, options) {}});
    </script>
    <!-- rest of the code -->
    </body>

我需要能够创建一个实例(我已经能够做到)、更新值、删除值和获取值。

我无法更新现有实例的多个值并将其保存到 stackMob。

          StackMob.init({publicKey:"mykey",apiVersion:0});
var Task=StackMob.Model.extend({schemaName:'taskdevice'});
var task1=new Task({task_device_id:'my_id'});
task1.save({imei:'112',name:document.getElementById('e2').value),dob:(document.getElementById('e3').value),email:(document.getElementById('e4').value),phone:(document.getElementById('e5').value)},{
success: function(model, result, options) {
alert("success");
        console.debug(model.toJSON());},
    error: function(model, error, options) {alert("Failure");}
});

如果我尝试更新多个值,每次都会失败。

4

1 回答 1

3

您的代码中有一些语法错误,例如成功和错误回调之间的逗号。此外,您需要在尝试保存/读取数据之前定义您的模型。您的task变量未定义。所以你扩展模型来定义schema它应该与什么相关。

这是一个带有工作示例的 jsFiddle:http: //jsfiddle.net/wyne/eATur/

您还应该查看 StackMob 开发人员中心的JavaScript 开发人员指南

// Initialize StackMob object with your public key
StackMob.init({
    publicKey: "api_key", apiVersion: 0
});

// Define Model and associate it with a Schema
var Task = StackMob.Model.extend({ schemaName: 'task' });

$(document).ready(function () {

    // Create new instance of the Model with id of object to update
    var updateTask = new Task({ "task_id": "INSERT_OBJECT_ID" });

    // Update the task with done=false and save it to StackMob
    updateTask.save({ done: true }, {
        success: function(model, result, options) {
            console.log( "Updated object!" );
            console.log( model.toJSON() );
        },
        error: function(model, error, options) {
            console.log( "Error updating" );
        }
    });
});
于 2013-06-29T21:45:27.927 回答