繁体   English   中英

没有从jquery发布到Google App脚本的响应数据

[英]No response data received from a jquery post to Google App Script

我正在从其他域下的网页向Google App Script webapp发送发布请求。 GAS端的doPost方法处理请求,并返回一个字符串。 我可以看到请求到达了服务器,但是客户端没有收到响应。

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> function myFunc() { $.post("https://googlewebappURL", postdata).done(function(responsedata) { alert("Data Loaded: " + responsedata); }); }; </script> 

警报呼叫不会发生。 该帖子确实到达了Web应用程序,我的日志确认了这一点。

我在这里做错什么了吗?

我认为您的JavaScript正常。 对于您的情况,我认为以下确认要点。

确认要点:

  • 似乎postdata没有定义。
  • 修改脚本后,是否已更新脚本版本并将Web Apps部署为新版本。 如何部署Web Apps如下。
    • 在脚本编辑器上
    • 发布
      • 部署为Web App
        • 创建新的项目版本
        • 在“执行应用程序为”下,选择“您的帐户”
        • 在“谁可以访问该应用程序”下,选择“所有人,甚至匿名”
        • 点击“部署”
        • 复制“当前的Web应用程序URL”
        • 点击“确定”

部署Web Apps的详细信息在这里

即使您确认了以上几点,如果问题仍未解决,是否可以尝试以下简单示例? 如果修改后的脚本不起作用,则还可以使用curl示例。 当示例工作时,您将检索value

样品:

Google Apps脚本:code.gs

function doPost(e) {
  return ContentService.createTextOutput(e.parameter.key);
}

修改了脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(function() {
var postdata = {key: "value"}; // Added
$.post("https://googlewebappURL", postdata).done(function(responsedata) {
  alert("Data Loaded: " + responsedata);
});
});
</script>

卷曲样品:

curl -L -d "key=value" "https://googlewebappURL"

如果上述示例无效,我可以问一下您的doPost()吗? 如果我误解了您的问题,对不起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM