Ho un semplice ContentService per gli script di Google Apps che emette una stringa come "Hello world sab 14 lug 2012 14:17:21 GMT + 1000 (EST)" L'url è https://script.google.com/macros/s/AKfycbxbFFG95mi8PWVNCE8366XaxnXQrt6p7p3OWbclXch_bbWczQ/exec ed è aperto all'anonimato. Sentiti libero di colpirlo. Il codice è:Come posso far funzionare le richieste XHR/ajax contro Google Apps Script ContentService?
function doGet() {
var output = ContentService.createTextOutput()
.setMimeType(ContentService.MimeType.TEXT)
.setContent("Hello world " + new Date());
Logger.log(output.getContent());
return output;
}
Quando visito l'URL in un browser viene restituita la stringa come previsto (pass.png). Quando uso lo stesso URL in un XHR (chiamata ajax) fallisce con un errore vuoto. Negli strumenti per sviluppatori in Chrome, il reindirizzamento è "(cancellato)" (fail.png). Ecco il codice per riprodurre il fallire:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc() {
xhr=new XMLHttpRequest();
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("myDiv").innerHTML=xhr.responseText;
}
};
xhr.open("GET","https://script.google.com/macros/s/AKfycbxbFFG95mi8PWVNCE8366XaxnXQrt6p7p3OWbclXch_bbWczQ/exec",true);
xhr.send();
}
</script>
</head>
<body>
<h2>Using the XMLHttpRequest object</h2>
<div id="myDiv"></div>
<button type="button" onclick="loadXMLDoc()">Get Content via XHR</button>
</body>
</html>
Richiesta diretta: richiesta XHR: La mia domanda (si spera abbastanza specifico): come faccio a rendere le chiamate XHR da una pagina web vecchio pianura esempio .com per ottenere contenuti da script di Google Apps Script ContentService anonimi?
.... stessa domanda .... interessante. –
Possibile duplicato di [richieste di domini di script di Google Apps non funzionanti] (http://stackoverflow.com/questions/29525860/google-apps-script-cross-domain-requests-stopped-working) –