gpt4 book ai didi

javascript - 由于响应中不存在 `Access-Control-Allow-Origin` header ,跨域请求停止工作

转载 作者:可可西里 更新时间:2023-11-01 01:22:20 25 4
gpt4 key购买 nike

我有一个使用 Google Apps 脚本创建的错误报告信标,它被发布为以我自己的身份运行并且“任何人,甚至是匿名的”都可以访问,这应该意味着 X 域请求允许使用 GAS。

但是,我的浏览器现在指示在代码发布到信标后响应中没有 Access-Control-Allow-Origin header 。

我是不是漏掉了什么?就在两个月前,这曾经起作用。只要发布 GAS 供公众访问,它就会设置 Access-Control-Allow-Origin header 。

在 Google Apps 脚本中:

代码.gs
function doPost(data){
if(data){
//Do Something
}
return ContentService.createTextOutput("{status:'okay'}", ContentService.MimeType.JSON);
}

客户端:

脚本.js
$.post(beacon_url, data, null, "json");

最佳答案

当调用内容服务脚本时,我总是发送一个 JSONP 回调。由于 GAS 不支持 CORS,这是确保您的应用在 x 域问题出现时不会中断的唯一可靠方法。

在 jQuery 中调用只需添加“&callback=?”。它会解决所有其他问题。

 var url = "https://script.google.com/macros/s/{YourProjectId}/exec?offset="+offset+"&baseDate="+baseDate+"&callback=?";
$.getJSON( url,function( returnValue ){...});

在服务器端

function doGet(e){
var callback = e.parameter.callback;
//do stuff ...
return ContentService.createTextOutput(callback+'('+ JSON.stringify(returnValue)+')').setMimeType(ContentService.MimeType.JAVASCRIPT);
}

关于javascript - 由于响应中不存在 `Access-Control-Allow-Origin` header ,跨域请求停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com