我正在编写一个 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 文件。