Javascript:在计算机和本地服务器上运行时的不同行为

时间:2012-06-12 18:54:28

标签: javascript

因为我的头衔太短,我会更清楚地解释。我用JavaScript创建了一个代码。我有两种选择:

1)在机器上运行:简单点击进入html文件。

2)在本地服务器上运行:意味着我启动Apache,并在localhost中启动此html文件。

(例如http://localhost:85/Javascript/index.html

当我选择解决方案1时,没有任何事情发生。当我选择解决方案2时,按我的意愿发生。但我不知道为什么。

这是我的代码。目的:获取json文件并进行处理。

<script>
        window.onload = function(){
            var url = "http://localhost:85/javascript/json1.json";  // problem here
            var request = new XMLHttpRequest();
            request.open("GET", url);
            request.onload = function(){
                if (request.status == 200){
                    update(request.responseText);
                }
            }
            request.send(null);
        };
function update(responseText){ // some code here }
</script>

2 个答案:

答案 0 :(得分:3)

您无法使用AJAX读取其他域中的内容。

file://whatever开始运行的Javascript无法读取localhost:85

答案 1 :(得分:2)

您是否将此行替换为服务器的原始路径?

var url = "http://localhost:85/javascript/json1.json";

使用

var url = "http://10.0.0.X:85/javascript/json1.json"; // Did you change the right path?

并确保使用file://协议调用该页面!