0

基本上,我试图使用 XMLHttpRequest 加载一个 .json 文件,该文件已包含在 XDK 的工作文件中。我正在将文件名作为 url 加载,例如我正在加载

url = "MyFile.json" 
xhr.open( 'GET', url, true );

然后,当 readystate 完成并且状态指示一切都已完成时,我在 onreadystatechange 函数中查看 responseText。通常,当我在桌面浏览器甚至任何设备的 XDK 模拟器中运行东西时,一切都按预期工作。问题是,当我使用人行横道打包项目时,似乎出了点问题,responseText 返回 null/false/undefined 什么,表明 SOMETHING(但我不确定是什么)不起作用,并且我的文件无法加载.

这可能有点模糊,但我正在尽我所能。XDK 和人行横道对我来说是新的,我非常不确定问题出在哪里。在多次构建和重建我的应用程序之后,我不知道事情是如何或为什么会搞砸的,我希望有人能帮助我。可能是一些简单的东西,比如这些文件的 url 不同,或者可能是一些复杂的东西,需要跨域的东西。我真的不知道,我已经搜索了很多,到目前为止没有任何结果。

我正在使用three.js,特别是这个问题似乎与JSONLoader 组件有关,但我真的不介意重写任何加载器,我只需要xmlHttpRequest 来获取文件。

更新

做了一点挖掘,我觉得我在赛道上,但我缺少一些小东西。responseText 是空的,但除此之外,我已经遵循我可以在网上找到的从 assets/www/ 文件夹加载文件的所有指南。问题可能与我加载扩展名为“.json”或“.js”的文件有关吗?

4

1 回答 1

0

我对这个问题有了更多了解(我在 phonegap/cordova 中加载资产时遇到了麻烦,因为我的项目使用了 cordova.js,并且内置于构造 2,然后通过 XDK 导出到人行横道)我没有真正的回答但我觉得我需要结束这个问题并在其他地方问一个更相关的问题。目前的问题要么是 A. 内置实现 XMLHttpRequest 的错误,crosswalk/cordova 在 android 设备上使用,要么 B. 我的做法有问题。网上到处都说我正在做的事情应该可以工作,并且本质上是为在人行横道上工作而设计的,所以我真的不知道问题出在哪里。

于 2015-01-16T20:27:18.023 回答