Tôi nhận được không xác định cho biến được gọi là: tên Bất kỳ trợ giúp nào về lý do tại sao nó không hiển thị kết quả. Nó sẽ hiển thị trong nhật ký nhưng không hiển thị trên index.html hoặc phía web sau khi tìm kiếm được nhấn.Biến trả về không xác định
mã:
// var names =[]; //I tried using a global variable but with no luck
function SearchFiles(searchTerm) {
var searchFor = "title contains '" + searchTerm + "'";
var owneris = "and '[email protected]' in Owners";
var names = [];
var fileIds = [];
Logger.log(searchFor + " " + owneris);
var files = DriveApp.searchFiles(searchFor + " " + owneris);
while (files.hasNext()) {
var file = files.next();
var fileId = file.getId(); // To get FileId of the file
fileIds.push(fileId);
var name = file.getName();
names.push(name);
}
for (var i = 0; i < names.length; i++) {
//this is showing in the Logger
Logger.log(names[i]);
Logger.log("https://drive.google.com/uc?export=download&id=" + fileIds[i]);
}
}
function returnNames(names) {
return '<h3><b>returnNames has ran.!</b></h3> <br>' + names; // Why does this names variable return undefined???
}
function doGet(e) {
var template = HtmlService.createTemplateFromFile('Index');
return template.evaluate()
.setTitle('Search Drive')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function processForm(searchTerm) {
var resultToReturn;
Logger.log('processForm was called! ' + searchTerm);
resultToReturn = SearchFiles(searchTerm);
Logger.log('resultToReturn: ' + resultToReturn)
// shows as undefined in the logger
return resultToReturn;
}
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<script>
function displayMessage() {
var searchTerm;
searchTerm = document.getElementById('idSrchTerm').value;
console.log('searchTerm: ' + searchTerm);
google.script.run.processForm(searchTerm);
google.script.run.withSuccessHandler(handleResults).returnNames();
}
function handleResults(searchTerm) {
console.log('Handle Results was called! ');
document.writeln(searchTerm);
}
</script>
</head>
<body>
<input type="text" id="idSrchTerm" name="search">
<input type="button" value="submitButton" name="submitButton" onclick="displayMessage()" />
</body>
</html>
bạn nhận được lỗi ở dòng nào? Điều đó có thể giúp gỡ lỗi vấn đề. – Rikin
Tôi nhận được không xác định trên hàm returnNames (tên) line- bạn có thể thấy tôi đã nhận xét dòng – OblongMedulla
nhiều vấn đề. Đầu tiên trong chỉ số gọi bạn không phải là đi qua bất cứ điều gì để returnNames(). Vì vậy, khi chức năng chạy nó được undefined và có thể in undefined. Thứ hai tôi nghĩ rằng bạn đang giả sử tên sẽ có sẵn trên toàn cầu mà tôi không nhìn thấy nó. – Rikin