【问题标题】:Null response from XMLHttpRequest in OS X Javascript WidgetOS X Javascript Widget 中 XMLHttpRequest 的空响应
【发布时间】:2010-11-12 04:31:22
【问题描述】:

我想开发一个小的 os x 小部件,它从 xml 源中获取数据,然后显示结果。 我的问题是我以前从未使用过 javascript XMLHttpRequest,而且我不确定自己做错了什么。

为了开始我的项目,我想创建一个简单的脚本来返回响应头并提醒它。 我已经尝试了很多我在网上找到的不同的东西,我知道这不会那么困难。

但无论我尝试什么,我都会得到一个“null”响应。我什至尝试直接获取内容,但没有成功。

我曾经听说跨域请求不起作用,但我不确定此信息是否是最新的。如果它是最新的,那么当 javascript 在本地运行时,如何在我的 Mac 上的小部件中使用 javascript 向服务器发出请求??

这是我的代码,也许有人可以告诉我我做错了什么。

<html>
<title>This is a test</title>
<body>
This is a simple test.
    <p class="example"><a href="#" onclick="init();return false;">Try this.</a></p>
    <script type="text/javascript">
    function init()
    {   
        xmlhttprequest = new XMLHttpRequest();
        xmlhttprequest.onreadystatechange = function() {
        if (xmlhttprequest.readyState == 4) {
            alert(xmlhttprequest.getAllResponseHeaders());
            }
        }               
    var url = "http://stinfwww.informatik.uni-leipzig.de" ;
    xmlhttprequest.open("GET", url, true);
    xmlhttprequest.send(null);
    }
    </script>
</body>
</html>

如果有人有任何建议,我将不胜感激。或者,如果您有关于此主题的任何好的资源(尤其是关于 Javascript 小部件开发),请告诉我。

真的很感谢

【问题讨论】:

  • 我发现 os x 小部件不受浏览器通常的安全约束。你可以从任何地方请求任何东西。所以用普通浏览器开发小部件没有任何意义。

标签: javascript macos null xmlhttprequest widget


【解决方案1】:

出于安全目的,浏览器会限制跨域请求。所以http://localhost 的 Javascript 无法从远程 API 检索数据

另请阅读http://htmltimes.com/cross-domain-javascript-xmlhttprequest-restriction.php

希望对你有所帮助

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 1970-01-01
    • 2018-11-19
    • 2020-08-29
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多