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;
}
誰かが私が間違っている場所を理解するのを手伝ってくれるなら、私はそれを大いに感謝します. これを読んでいただきありがとうございます。
編集:ジョシュに感謝します。ログがそこにあることに気づきませんでした。未定義の長さを取得できないという問題になってしまいました...パスワードの代わりにパスワードを渡したため、未定義でした。迅速なご協力ありがとうございます。