将值从ajax传递到google apps脚本

时间:2016-02-22 11:37:32

标签: javascript jquery ajax google-chrome-extension google-apps-script

我是for (File srcfile : fList) { srcFileName = srcfile.getName(); sizeInMB = (srcfile.length() / (1024*1024)); srcFilePath = srcPath + "/" + srcFileName; try { fis = new FileInputStream(srcFilePath); tmp = fis.available(); bufDynmc = new byte[tmp]; while (true) { readStartTime = System.currentTimeMillis(); bytesRead = fis.read(bufDynmc); readEndTime = System.currentTimeMillis(); readTimeSum += (readEndTime - readStartTime); if (bytesRead > 0) { if(rsltCode == RESULT_OK) { treeUri = rsltData.getData(); DocumentFile pickedDir = DocumentFile.fromTreeUri(this, treeUri); DocumentFile newFile = pickedDir.createFile("image/jpg", srcFileName); fos = getContentResolver().openOutputStream(newFile.getUri()); writeStartTime = System.currentTimeMillis(); fos.write(bufDynmc, 0, bytesRead); writeEndTIme = System.currentTimeMillis(); writeTimeSum += (writeEndTIme - writeStartTime); } continue; } else break; } sizeSum += sizeInMB; fis.close(); fos.close(); } catch (Exception e) {e.printStackTrace();} rescanGallery(treeUri); } 的新手,我正在尝试创建一个Web应用程序,我可以将值从Ajax传递到我的脚本的Web应用程序。我可以直接从网络应用程序执行它,但它不能在我的网页上运行。这是我的代码,

网页的JS

Google Apps Script

Google Apps脚本

$(document).ready(function () {
  $('#btnGet').click(function () {
    var getId = $('#text').val();
    $.ajax({
      url: "https://script.google.com/macros/s/AKfycbwpkBW7qKZBeJ011C7j3le4vV8D0SEHu9709mWtEMzJgrJmHnaR/exec",
      data: getId,
      type: "GET",
      crossDomain: true,
      success: function (data) {
        console.log(data);
        alert("Success!");
      },
      error: function (data) {
        console.log(data);
        alert("Failed!");
      }
    });
  });
});

如何将ajax中的值传递给我的应用脚本?急需这个帮助!感谢。

2 个答案:

答案 0 :(得分:2)

尝试将您发送的数据附加到网址的末尾:

"ScriptUrl/exec?getIdKey=getIdValue"

Docs

您的data财产很可能被忽略。

然后可以在doGet(e)中使用以下内容访问该值:

var getIdValue = e.parameter.getIdKey

那个

Docs

答案 1 :(得分:0)

您必须进行页面重定向并通过点击或某事导航到脚本的已发布网址

  

因为禁止向Google Apps脚本服务器发送XHR请求

从外部客户端禁止XHR请求,但在Google App Script编辑器中调用服务器端脚本(即.gs文件中的任何一个函数)默认是异步的,可以使用google.script.run < / p>

有关更多信息,请参阅官方文档。

Google App Script Restrictions