firebase throws error Uncaught Error: Reference.child failed:
firebase throws error Uncaught Error: Reference.child failed:
我正在尝试从 Firebase 编辑或删除记录。
我已成功向 html 页面添加和检索数据。
但是在单击编辑或删除按钮期间没有任何反应并且出现错误。
错误:
Uncaught Error: Reference.child failed: First argument was an invalid path = "undefined". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
我的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();
})
});
您的 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。
我正在尝试从 Firebase 编辑或删除记录。 我已成功向 html 页面添加和检索数据。 但是在单击编辑或删除按钮期间没有任何反应并且出现错误。 错误:
Uncaught Error: Reference.child failed: First argument was an invalid path = "undefined". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
我的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();
})
});
您的 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。