桌面小部件使用的 $.getJSON 不会从浏览器请求 URL
$.getJSON used by desktop widget does not request URL from browser
我正在开发一个桌面小部件(在Windows 7中(。我已经创建了一个API(使用PHP(,小部件需要从中请求数据。该 API 采用 JSON 格式,通过在浏览器中键入 URL,我可以获得我需要的数据,即
{"a": "b"}
我还检查了 http://jsonlint.com 中的 JSON API,这表明 JSON 是正确的。
我用来从URL获取JSON的javascript代码如下:
$.getJSON(url, function(data) {
... printings ...
});
但我没有得到任何结果(而 URL 在键入时显示正确的结果(。当我打开网络选项卡时,我可以看到甚至没有请求 URL!服务器请求不返回任何内容,就像我没有请求 URL 一样。
但是,当我键入不同的URL(不是由我创建的,而是来自我的公司,使用Python(时,小部件会获取数据。我想我的 API 因此有问题,但我无法弄清楚是什么。在创建 API 的 PHP 代码中,我有
<?php
....
$str = 'b';
....
$results = array();
$results['a'] = $str;
$encoded = json_encode($results);
echo $encoded;
return $encoded;
?>
我得到了上面显示的 JSON。 有什么想法吗?
JavaScript 部分肯定有明显的问题。 我不知道你说的桌面小部件是什么意思。
你的JavaScript不会从你的JSON响应中输出任何东西。让我们通过打印 data.a
来更改它,这应该是您的响应的变量:
$.getJSON(url, function(data) {
output+= "<p> my JSON response: " + data.a + " </p>";
document.getElementById('demo').innerHTML = output;
//whenDone (output);
});
老实说,我不知道你想用whenDone(output)
实现什么. 这是你自己写的函数吗?
您意识到$.getJSON()
是一个jQuery函数 - 因此请确保在代码中包含jQuery。还要确保您的脚本位于 <script></script>
标记中。
相关文章:
- 在Firefox Addon中获取当前浏览器url
- 如何在使用HTML5 pushState更改浏览器URL时处理后退按钮
- 可以使用 utf8 的跨浏览器 url 参数
- 如何通过直接输入浏览器 url 栏来防止文本或脚本文件被查看/下载
- Window.Open 的浏览器 URL 的最大长度是多少
- 从两级深度 iframe 获取浏览器 URL
- 使用jQuery获取浏览器URL
- 在pushstate改变浏览器url之后刷新页面;它告诉我页面没有;不存在
- Javascript,获取浏览器URL中未显示的默认页面名称
- 如何根据浏览器url将url嵌入angularjs中作为https
- 如何使用JavaScript获取当前浏览器URL
- 需要更改spry菜单栏中父标记元素的颜色,然后更改当前浏览器URL
- 通过php或js或jquery获取浏览器url而不是iframe url
- 就CORS而言,通过XMLHttpRequest、curl和浏览器URL获取请求的区别是什么?
- 将当前浏览器URL添加到HTML超链接中
- 在Selenium, Python中计算点击次数并返回被点击链接的浏览器url
- 如何在浏览器url框中修改url
- 如何使用javascript使浏览器Url为ReadOnly True
- 谷歌浏览器:URL无法定位
- 当页面被浏览器URL调用时,如何在索引页的iframe中加载页面a