【发布时间】:2011-12-11 18:52:43
【问题描述】:
从 issue 554 上的 cmets 判断,我认为 Fusion Tables 支持 CORS 请求。尝试以下操作会出现跨站点错误(在 Chrome 中):
xhr = new XMLHttpRequest()
xhr.open("GET","http://www.google.com/fusiontables/api/query?sql=SELECT%20*%20FROM%201906375")
xhr.send()
错误是:Origin http://[domain] is not allowed by Access-Control-Allow-Origin.
以下示例运行良好(用于比较),一个简单的 PHP 页面,我在其中设置“CORS”标头并回显原始服务器,例如“hello example.com”:
xhr = new XMLHttpRequest()
xhr.open("GET","http://skipperkongen.dk/services/corstest/hellocors.php")
xhr.send()
我必须承认,我在网上找不到任何地方明确表示融合表支持 CORS,但我有点期待它(也从问题中的 cmets 判断)...
我做错了吗?
【问题讨论】:
-
这是一个 curl 请求,显示响应中未返回 Access-Control-Allow-Origin 标头。但是我对 Fusion Tables 中 CORS 支持的状态一无所知: curl -H "Origin: foobar.com" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1" "google.com/fusiontables/api/query?sql=SELECT%20*%20FROM%201906375" --verbose
-
嗯,是的,这也是我的结论。我觉得这有点奇怪,将 Access-Control-Allow-Origin 标头粘贴在响应上会很容易,而且 IMO 会大大改进产品。
-
顺便说一句,猜你看我的主页 :-) 用户代理的选择。好吧,很高兴有人读到它。
标签: javascript ajax web-services cors google-fusion-tables