Javascript 如果使用非类/原型方法,则不会发生此错误:Origin file://不被访问控制允许Origin

Javascript 如果使用非类/原型方法,则不会发生此错误:Origin file://不被访问控制允许Origin,javascript,ajax,coffeescript,prototype,cors,Javascript,Ajax,Coffeescript,Prototype,Cors,我曾经遇到过这个CORS问题,但是使用jsonp和callback=?建议如下: 我还为Chrome打开了“--允许从文件访问文件”,我在Google app engine上托管了它,还通过Firefox加载了它 然而,我开始在javascript中使用类(通过CoffeeScript),当我使用class方法时,它会给我这个错误。请注意,我可以通过不使用下面的类/实例方法来克服此问题: 问题: 我试图在谷歌地图上显示几个位置。我调用google fusion table api来获取数据并显示

我曾经遇到过这个CORS问题,但是使用jsonp和callback=?建议如下: 我还为Chrome打开了“--允许从文件访问文件”,我在Google app engine上托管了它,还通过Firefox加载了它

然而,我开始在javascript中使用类(通过CoffeeScript),当我使用class方法时,它会给我这个错误。请注意,我可以通过不使用下面的类/实例方法来克服此问题:

问题: 我试图在谷歌地图上显示几个位置。我调用google fusion table api来获取数据并显示它。当我像调用常规方法而不是类方法那样调用dataHandler()方法时,它工作得很好。当我像类方法一样调用它时,我在本地得到这个错误:“访问控制不允许使用Origin file://允许Origin。”我正在Chrome上本地尝试。当我在google app engine上部署/托管它时,我在同一行“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 ?访问控制不允许.Origin file://允许使用Origin

托管/服务器错误:

明白了吗?400(错误请求)

使用类似代理的方式,而不是从文件系统访问文件

使用类似代理的方式,而不是从文件系统访问文件