我正在尝试从 Firebase 编辑或删除记录。 我已成功向 html 页面添加和检索数据。 但是在单击编辑或删除按钮期间没有任何反应并且出现错误。 错误:
<块引用>未捕获的错误:Reference.child 失败:第一个参数是无效路径 =“未定义”。路径必须是非空字符串,并且不能包含“.”、“#”、“$”、“[”或“]”
我的js代码是
//TABLE REFERENCE
const empRef = firebase.database().ref('employee');
//$('#emp-table').find('tbody').html('');
var new_html = '';
//EDIT
$(document).on('click', '.editEmp', function () {
var emp_id = $(this).attr('data-emp-id');
empRef.child(emp_id).once('value').then(function (emp){
var modal_header = '';
modal_header += '<h4 class="modal-title">Add ' + emp.val().name + '</h4>';
modal_header += '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>';
var modal_body = '';
modal_body += '<div class="form-group">';
modal_body += '<label>Name</label>';
modal_body += '<input id="edit-name" type="text" value="'+emp.val().name+'" class="form-control" required>';
modal_body += '</div>';
modal_body += '<div class="form-group">';
modal_body += '<label>Email</label>';
modal_body += '<input type="email" id="edit-email" value="'+emp.val().email+'" class="form-control" required>';
modal_body += '</div>';
modal_body += '<div class="form-group">';
modal_body += '<label>Address</label>';
modal_body += '<textarea id="edit-address" class="form-control" required>'+emp.val().address+'</textarea>';
modal_body += '</div>';
modal_body += '<div class="form-group">';
modal_body += '<label>Phone</label>';
modal_body += '<input id="edit-phone" type="text" value="'+emp.val().phone+'" class="form-control" required>';
modal_body += '</div>';
var modal_footer = '';
modal_footer += '<input type="button" class="btn btn-default" data-dismiss="modal" value="Cancel">';
modal_footer += '<input type="submit" data-dismiss="modal" data-emp-id="'+emp_id+'" class="btn btn-danger updateEmpData" value="Save">';
$("#editEmployeeModal").find('.modal-header').html(modal_header);
$("#editEmployeeModal").find('.modal-body').html(modal_body);
$("#editEmployeeModal").find('.modal-footer').html(modal_footer);
$("#editEmployeeModal").modal();
})
});
答案 0 :(得分:0)
看起来您的 emp_id
是 undefined
,Firebase 不允许这样做。
您可以通过以下方式在代码中捕获此条件:
var emp_id = $(this).attr('data-emp-id');
if (emp_id) {
empRef.child(emp_id).once('value').then(function (emp){
...
另请参阅前面的这些questions about this error message。