Короткий ответ: вам нужно выполнить обратный вызов следующим образом:
function callback(response) {
// Here you can do what ever you want with the response object.
console.log(response);
}
$.ajax({
url: "...",
success: callback
});
Вы можете использовать window.location.href
, чтобы вызвать вкладку браузера, где ваше приложение HTML загружено для обновления.
window.myFunctionToRefresh = function() {
window.location.href = "https://script.google.com/macros/s/YourAppsScriptID_Here/exec";
return false;
};
Я использую это, и он работает. , , , но в некоторые условия обновляются, но сценарий приложений не полностью перезагружается. Я все еще не уверен, почему это так. Таким образом, я не могу полностью объяснить или одобрить его.
Вы можете использовать методы и свойства DOM для ввода нового HTML-кода в вашу веб-страницу без перезагрузки страницы.
document.getElementById('element_ID_Here').innerHTML = "<div>Hello World</div>";
jQuery имеет свой собственный метод:
$("#element_ID_Here").html("Hello World");
Вы уже знаете, как использовать google.script.run
, чтобы вы могли позвонить на сервер, получить некоторый HTML-контент в виде строки, вернуть его и с помощью withSuccessHandler(functionToRunOnSuccess)
ввести новый HTML.
Представим себе, что вы хотели заменить все в своем «основном теле»:
<div class="inline mainbody">
Дайте DIV id:
<div id='idMainBody' class="inline mainbody">
Извлечь содержимое содержимого HTML с сервера в виде строки, когда код .gs
возвращает что-то, запускает withSuccessHandler
, а затем вводит его в этот DIV. Если ваш withSuccessHandler
был назван onGotHtml
:
function onGotHtml(argMyNewHTML) {
document.getElementById('idMainBody').innerHTML = argMyNewHTML;
};
Старый поток, но, возможно, это поможет кому-то ... Как перестроить и отобразить всю страницу ...
часть index.html
<div id="refresh" onclick ="google.script.run
.withSuccessHandler(refreshApp)
.getNewHtml()">
Refresh
</div>
<script>
function refreshApp(newHtml) {
document.open();
document.write(newHtml);
document.close();
}
</script>
часть кода .gs
function getNewHtml(e) {
var html = HtmlService
.createTemplateFromFile('index') // uses templated html
.evaluate()
.getContent();
return html;
}