Javascript 直接传递json对象而不是文件

Javascript 直接传递json对象而不是文件,javascript,jquery,Javascript,Jquery,我正在使用帮助我渲染平铺贴图。我想试试这个例子,但是CORS似乎在本地阻止了我。但这不是我的主要问题,因为我需要使用动态JSON数据,而不是直接包含JSON文件。相关代码如下所示: .... renderLayers: function(layers) { layers = $.isArray(layers) ? layers : this.data.layers; layers.forEach(this.renderLayer);

我正在使用帮助我渲染平铺贴图。我想试试这个例子,但是CORS似乎在本地阻止了我。但这不是我的主要问题,因为我需要使用动态JSON数据,而不是直接包含JSON文件。相关代码如下所示:

....
        renderLayers: function(layers) {
          layers = $.isArray(layers) ? layers : this.data.layers;
          layers.forEach(this.renderLayer);
        },
        loadTileset: function(json) {
          this.data = json;
          this.tileset = $("<img />", { src: json.tilesets[0].image })[0]
          this.tileset.onload = $.proxy(this.renderLayers, this);
        },
        load: function(name) {
          return $.ajax({
            url: "mountain.json",
            type: "JSON"
          }).done($.proxy(this.loadTileset, this));
        }
      };

      scene.load("mountain");
理想情况下,我希望有一个保存整个json对象的var,并更改上面的方法以支持它。我尝试了一些东西,但我缺乏jquery知识,所以我觉得我有点搞砸了

请注意,示例要点如下:


有谁能帮助我如何直接使用json对象而不是包含json文件?谢谢

那么,您想删除Ajax调用,而是将对象定义添加到JavaScript源代码中?只需创建一个变量var data={…此处的所有数据…};并调用函数scene.loadTilesetdata;。你应该更新标题的措辞。JSON是一种与语言无关的文本数据交换格式,类似于XML。当你说原始JSON时,听起来你想得到一个包含JSON的字符串,而不是解析它。但是阅读问题的其余部分,听起来这不是你想要的。谢谢菲利克斯·金。我更新了标题,很好。我会在几分钟内尝试你的建议,并让你知道这是否有效,谢谢!看起来差不多了。CORS警告被抑制,但在尝试此操作时,我得到一个has no method'proxy'错误。看起来你的方法正在做我想做的事情,但还有其他代理正在停止它,因为在本例中是$.proxy。听起来$没有引用jQuery,或者你使用的是一个非常旧的jQuery版本。请改用jQuery.proxy。