2013-06-29 65 views
1

我是一個初學者javascript和stackmob。 如何使用javascript從我的網頁(儀表板)的stackmob中獲取數據? 我還試圖更新數據,但我沒有成功。使用javascript從Stackmob中獲取數據

這是我從「假」到「真」更新的「完成」值碼:

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

這是失敗的每一次,如果我嘗試更新多個值。

+0

任何錯誤信息?另外,'stackmob-js-0.9.1-bundled-min.js'中的空間是否真的出現在你的代碼中? – acdcjunior

+0

@acdjunior:我們如何看到這個錯誤信息? 在服務器控制檯中? – Sohaib

+0

@SilentPro瀏覽器控制檯。嘗試按F12。 – acdcjunior

回答

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

非常感謝您的代碼創建了一個新的實例我從stackmob的開發人員指南(您提供的鏈接)獲得了幫助,現在可以更新值jsFiddle中的代碼不會生成結果如預期的那樣(也許我無法正確使用jQuery),但我會從那裏獲得幫助並解決它。:) – Ice

+0

對不起,我更新了代碼片段來執行更新而不是創建。不知道爲什麼小提琴不起作用。這個對我有用。你只需要先點擊創建按鈕,然後點擊更新按鈕。但我很高興你能做到這一點! – Justin

+0

非常感謝:) 現在我能夠工作所有的crud操作! – Ice