我遇到过这个CORS问题但是能够使用jsonp和callback =克服它吗?如下所示: XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin 我还为Chrome启用了“--allow-file-access-from-files”,我已将其托管在Google应用引擎上,并通过Firefox加载。
但是,我开始在javascript中使用类(通过CoffeeScript),当我使用class方法时,它给了我这个错误。请注意,我可以通过不使用下面的类/实例方法来解决这个问题:
问题: 我想在谷歌地图上显示几个位置。我打电话给谷歌融合表api获取我的数据并显示它。当我像常规方法一样调用dataHandler()方法而不是类方法时,它工作正常。当我把它称为类方法时,我在本地得到这个错误:“原始文件://不允许使用Access-Control-Allow-Origin。”我在Chrome上本地尝试。当我在谷歌应用引擎上部署/托管它时,我在同一行“400(错误请求)”上收到此错误
由于
var myMap = new MyMap();
google.load('visualization', '1.0', {"callback":myMap.initialize});
class MyMap
initialize: -> //Javascript equivalent: MyMap.prototype.initialize = function() {
...
jqxhr = $.get(encodeURI(url), @dataHandler, "jsonp") // Does not work.
//Javascript equivalent: jqxhr = $.get(encodeURI(url), this.dataHandler, "jsonp");
jqxhr = $.get(encodeURI(url), dataHandler, "jsonp") // This works without the @
//Javascript equivalent: jqxhr = $.get(encodeURI(url), dataHandler, "jsonp");
dataHandler: (d) -> // Does not work. Javascript equivalent: MyMap.prototype.dataHandler = function(d) {
dataHandler= (d) -> // This works. Javascript equivalent: dataHandler = function(d) {
本地错误:
XMLHttpRequest无法加载 https://www.googleapis.com/fusiontables/v1/query?key=AIzaSyDjfc6i-&sql=SELECT%20Lat,%20Lng%20from%201Stisvr...&callback=?原始文件:// Access-Control-Allow-Origin不允许。
托管/服务器错误:
GET https://www.googleapis.com/fusiontables/v1/query?key=AIzaSyDjfc6i-&sql=SELECT%20Lat,%20Lng%20from%201Stisvr...&callback=? 400(不良请求)