Ошибка Object.keys, вызываемая не-объектом, может возникать только при помещении в нее объекта non. Ниже в https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
return function(obj) {
if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {
throw new TypeError('Object.keys called on non-object');
}
ли вы проверить, что значение employee_data, когда она пуста. Он должен работать для [].
Но если вы написали JSON.stringify, это не сработает, см. Ниже.
var emptyData = [];
if(typeof emptyData == 'object')
console.log(Object.keys(emptyData)); // it will print the keys,if there
var emptyData = [];
var emptyJSOn = JSON.stringify(emptyData);
if(typeof emptyJSOn == 'object')
console.log(emptyJson); // it won't print because ,it's not an object.
Теперь я полагаю, вы пытаетесь передать метод, emptyJson к Object.keys(), поэтому вы получаете эту ошибку.
Для получения дополнительной информации об этом вы можете обратиться к документам MDN.
Какое значение присвоено 'employee_data'? – thefourtheye
Неисправность при возникновении ошибки – user781486
Ну, вы не можете взять 'Object.keys()' из неопределенного. Как это получилось неопределенным? Как создается или назначается 'employee_data'? Если веб-служба вернула неопределенный JSON, это, вероятно, означает, что с запросом была какая-то ошибка, поэтому вам, очевидно, необходимо ее обнаружить и выполнить любую обработку ошибок. –