使用javascript从Stackmob获取数据

时间:2013-06-29 19:42:30

标签: javascript stackmob

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

以下是我更新'已完成'的值的代码。来自' false'真的' :

    <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");}
});

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

1 个答案:

答案 0 :(得分:3)

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

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

您还应该查看StackMob开发人员中心的JavaScript Developer Guide

// 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" );
        }
    });
});