0

我正在编写一个 Three.js 应用程序。在其中一部分,我使用 Three.js 的Blender->JSON 导出器加载了一个导出为 JSON 文件的搅拌器模型。我在本地计算机 (Windows 7) 上配置了 WAMPServer 2.2,我用它来测试我的网站,然后再将其 FTP 到远程服务器以向朋友等炫耀。

在本地测试服务器上加载这个 JSON 文件可以正常工作,但是当我将它上传到服务器时,我在 Firebug、Firefox 16.0.2 中收到以下错误:

SyntaxError: JSON.parse: unexpected character
  var json = JSON.parse( xhr.responseText );
  three.js (line 7810)

它发现 JSON 文件很好 - GET 出现在 Firebug 中。据我所知,模型的加载是整个脚本中唯一的 JSON 加载;该模型也不会远程显示,而是在本地显示。这是带有负载的函数:

//Adds a unit to the scene. Assumes Init() hasn't been called on the unit yet.
function pubAddUnit(unit, coord, modelSrc)
{
    //Do whatever initialization the unit has to do
    unit.Init();

    //Store the unit in its position on the grid
    units[coord.y][coord.x] = unit;

    //Load the unit model
    var loader = new THREE.JSONLoader();
    loader.load(modelSrc,
            //Function called once the unit model is loaded
            function(geometry) {
                //Create a new material for the unit
                var material = new THREE.MeshFaceMaterial();
                var mesh = new THREE.Mesh(geometry, material);
                //Store the unit geometry and mesh into their respective grids
                unit.SetGeo(geometry);
                unit.SetMesh(mesh);

                //Move the mesh to the correct spot
                mesh.position = TransCoord2(coord);
                mesh.scale.set(40, 40, 40);

                //Add the mesh to the scene
                scene.add(mesh);

                //Update the scene, now with the mesh in
                update();
            });
}

是 javascript 文件,如远程服务器上所示。任何关于为什么会发生这种情况的想法都值得赞赏。


编辑:我正在使用 FileZilla 到 FTP。我确实突然注意到服务器上 JSON 文件的文件大小与本地的不同,但我不确定这是否是我需要担心的——也许是行尾之类的?


另外,这里是 JSON 文件

4

1 回答 1

0

好的,所以我发现了“问题”......原来该文件根本没有获取 JSON 文件,而只是一个“被黑客攻击”的响应 - 我只是没有仔细查看 GET 响应足够。我认为来自该站点的所有 GET 都被重定向到这个文件,“被黑客攻击”。显然,这超出了这个问题的范围,但如果有人有任何可以帮助的信息,请告诉我。

于 2012-11-19T04:27:09.500 回答