我抓取一个URL并解析它以创建一个名为list的变量。我在控制台内部和外部的这个变量打印功能。我也试过在函数内再次抓取URL。触发此功能会给我一个错误:
Reference.update失败:第一个参数必须是包含要替换的子项的对象。
如何将正确的变量传递给函数,以便我可以写入Firebase?
JS是:
var getQueryString = function ( field, url ) {
var href = url ? url : window.location.href;
var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' );
var string = reg.exec(href);
return string ? string[1] : null;
};
var list = getQueryString('list', window.location.href);
console.log(list);
document.getElementById('list').innerText = list;
function accept(){
var list = getQueryString('list', window.location.href);
console.log("accept", "list", list);
var user = firebase.auth().currentUser;
var uid = user.uid;
console.log("accept", "uid", uid);
firebase.database().ref('userprofile/' + uid + '/list').update(list);
return firebase.database().ref('userlists/' + list + '/members/' + uid).update('true');
}
答案 0 :(得分:0)
您现在正在做的事情相当于set()
操作:
return firebase.database().ref('userlists/' + list + '/members/' + uid).set('true');
或者,您可以执行更高级别的更新:
var updates = {};
updates[uid] = 'true';
return firebase.database().ref('userlists/' + list + '/members/' + ).update(updates);