我有一個使用HtmlServices製作的網頁。 此頁面有一個表單,我想提交給一個GAS Web應用程序,使其表現爲Web服務。試圖在Google應用腳本HTMLService中使用Ajax Post(Caja干擾?)
當我使用谷歌應用程序腳本UrlFetch從我的第一個GAS應用程序調用我的Web服務時,我經常會發生超時。不幸的是,我們無法設置GAS UrlFetch超時值,我認爲這個值在10秒左右。 GAS應用僅需10秒即可複製文件,打開/編輯電子表格併發送電子郵件!
因此,我決定使用Jquery並在使用HtmlServices構建的網頁中執行ajax post(因爲我可以設置超時值)。 (所以我的網頁被Google Caja消毒)。據說Jquery得到了Caja的支持。
但我注意到,Ajax URL總是被重寫爲第一個Web應用程序URL(我想發佈的URL由Caja改變,我認爲)。對我來說,Google的Caja阻止了Ajax調用。 我在GAS HtmlService中找不到任何關於Caja/Ajax郵局的限制。
對於如何從GAS Web App調用Web服務而不受GAS超時的限制,您有什麼建議嗎?
澄清 - 您有一個基於Apps腳本和基於Apps腳本構建的服務的Web應用程序。你想讓Web應用程序向服務提交數據?這聽起來是對的嗎? –
是的,它有很好的理由,因爲它們都不在同一組共享權限上運行!其中一個以用戶訪問該頁面的方式運行,另一個以我的身份運行併爲我執行某些操作。 – VanacK
我從來沒有嘗試過這個,但它確實是一個很好的用法。你有沒有嘗試普通的JavaScript? jQuery和Apps腳本最近播放不好。有一個AJAX示例[here](http://vanilla-js.com/)。 –