我有一个 qooxdoo 项目,它使用以下代码从在线服务器获取 JSON:
var url = "http://www.example.com/json.php?q=parameter_here";
var store = new qx.data.store.Json(url,"GET", "text/plain");
store.addListener("changeModel", function(ev) {
console.log("changeModel()");
console.log("getData", ev.getData());
});
store.addListener("error", function(ev) {
console.log("error", ev.getData());
});
store.addListener("changeState", function(ev) {
console.log("state", ev.getData());
});
我正在使用 iMac,本地路径是/Users/SomeUser/Path/To/index.html
我尝试index.html
像往常一样在 Chrome 浏览器中加载,但失败了,因为 Chrome 将 Javascript 阻止为Origin null is not allowed by Access-Control-Allow-Origin
. 在我阅读了这个问题的答案后,我知道我必须将它托管在 Web 服务器中。因此我为这个站点设置了一个 XAMPP。
由于我的 XAMPP 现有别名很少,因此我为此站点添加了一个新别名,如下所示:
<Directory "/Users/SomeUser/Path/To">
Options All
AllowOverride All
Require local
Order allow,deny
Allow from all
</Directory>
Alias /myalias "/Users/SomeUser/Path/To"
当我这样设置别名时,会报告 403 Forbidden。然后,我在 SO 上找到了这个问题,但答案没有帮助。仍然是 403 禁止。
我的目标是将站点加载到本地 XAMPP 服务器中。我错过了什么?当我将文件夹上传到在线网络服务器时,它工作正常。
在 XAMPP Apacheerror_log
中,它显示:
[Fri Apr 19 17:51:09 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /myalias/index.html denied
对于该文件,其权限为:
drwxr-xrwx 7 SomeUser staff 238 Apr 2 16:48 .
注意:我不想更改 Chrome 启动选项以覆盖该Access-Control-Allow-Origin
政策。