1

Azure モバイル サービスにカスタム ID プロバイダーを実装しようとしていますが、それを使用するために HTML5/JS アプリを使用しています。この問題に関する Josh Twists の投稿をフォローしており、彼の指示に従ってセットアップしました。彼のブログ投稿では、objC を介して新しい ID テーブルを使用しています。

私はこれに非常に慣れていないので、私が見逃した平凡なものである場合はご容赦ください。あらかじめお詫び申し上げます。

JS を使用して AMS の他のテーブルを正常に使用しましたが、これはサーバー 500 エラーを返しています。マスター キーを自分のキーで更新しました。そして、アカウント テーブルと、そのテーブルの挿入関数で彼が指定したスクリプトを追加しました。

テーブルを呼び出すために使用しているJSは次のとおりです。

var item = {
        username: $("#username").val(),
        passowrd: $("#password").val(),
        salt: "1234",
        login: true
    };
    client.getTable("accounts").insert(item);

この場合、client は私の MobileServiceClient であり、同じ client.getTable("").insert(obj) を使用して他のテーブルに挿入すると、問題なく動作します。

ブログから入手した挿入スクリプトで気づいたことの 1 つは、|= と ^ の予期しない使用法があることです。

function slowEquals(a, b) {
var diff = a.length ^ b.length;
    for (var i = 0; i < a.length && i < b.length; i++) {
        diff |= (a[i] ^ b[i]);
    }
    return diff === 0;
}

誰かが私が間違っている場所を理解するのを手伝ってくれるなら、私はそれを大いに感謝します. これを読んでいただきありがとうございます。

編集:ジョシュに感謝します。ログがそこにあることに気づきませんでした。未定義の長さを取得できないという問題になってしまいました...パスワードの代わりにパスワードを渡したため、未定義でした。迅速なご協力ありがとうございます。

4

1 に答える 1

2

500 エラーの詳細について、(管理ポータルの) ログを確認しましたか? また、ここに Web 実装があります - http://doto.mobi/web (これはhttp://doto.mobiの Web バージョンです)。

ソースを表示して、カスタム ID を使用していることを確認できます。まったく同じバックエンドではありませんが、かなり似ているため、有利なスタートになるはずです。

于 2013-08-12T03:47:55.330 に答える