没有收到来自谷歌应用程序脚本的jquery帖子的响应数据



我正在从不同域下的网页向Google App Script Web应用程序发送发布请求。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>

警报呼叫没有发生。我的日志证实,这篇帖子确实传到了网络应用程序。

我是不是做错了什么?

我认为您的javascript运行良好。对于你的情况,我认为以下几点是肯定的。

确认要点:

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

此处提供了部署Web应用程序的详细信息。

即使你确认了以上几点,如果问题没有解决,你能试一下下面的简单例子吗?如果修改后的脚本不起作用,也可以使用curl示例。当示例工作时,您将检索value

样品:

谷歌应用程序脚本: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()的情况吗?如果我误解了你的问题,我很抱歉。

相关内容

  • 没有找到相关文章

最新更新