0

我正在学习 javascript 和 windowsazure 移动服务。作为学习课程,我创建了一个“用户”表并插入了一个测试用户。我实际上是在使用icenium 为ipad 和andoid 平板电脑编写一个演示应用程序,但我似乎连最基本的要求都搞不清楚。所以我在这里设置了一个 jsfiddle:http: //jsfiddle.net/MNubd/5/

这是一个简单的输入框:

<input id="uFullName" type="text" />

和一些javascript代码。我正在尝试从表“用户”中检索“名称”列并将其显示在输入框中:

alert('running');
var client = new WindowsAzure.MobileServiceClient('https://mtdemo.azure-mobile.net/', 'MtxOqGpaBzuPRtnkIifqCKjVDocRPY47');
usersTable = client.getTable('users');
usersTable.where({ userID: 'impretty@blockedheaded.com' }).read({
    success: function (results) {
        $('#uFullName').val(results);
    },
    error: function (err) {
        $('#uFullName').val('there was and err');
    }
});

谢谢你的帮助!

编辑:我不知道成功功能只能用于服务器脚本。谢谢。这是最终为我工作的代码:

function signInButton(e) {
    var un = $('#username');
    uName = un.val();
    var client = new WindowsAzure.MobileServiceClient('https://mtdemo.azure-mobile.net/', 'MtxOqGpaBzuPRtnkIifqCKjVDocRPY47');    
    //alert('lookup: ' + uName);
    usersTable = client.getTable('users');    
    usersTable.where({ userID: uName })
    .read()
    .done(
        function (results) {            
            try {
                xUserName = results[0].name; //using this to trigger an exception if the login credentials don't match.
                xUserID = results[0].id; // save this for querying and adding records for this user only.
                //alert('found');
                app.application.navigate('#view-menu');                        
            }
            catch(err) {
                 //alert('not found');
                 document.getElementById('errorText').textContent = "Check Email and Password!";                 
            }            
        } 
    );//end of the done
4

1 回答 1

0

success带有和回调对象的选项对象error仅在服务器端脚本中使用。对于客户端,编程模型是基于 Promise 的,你应该使用done()(or then()) 延续来获得结果:

var client = new WindowsAzure.MobileServiceClient('https://mtdemo.azure-mobile.net/', 'YOUR-KEY');
var usersTable = client.getTable('users');
usersTable.where({ userID: 'impretty@blockheaded.com' }).read().done(function (result) {
    $("#uFullName").val(result.name);
}, function (err) {
    $("#uFullName").val('There was an error: ' + JSON.stringify(err));
});
于 2013-10-16T20:50:14.707 回答