嘿大家,我正在为Apple的Dashboard创建一个小部件,我在尝试使用jquery的ajax函数从我的服务器获取数据时遇到了问题.这是我的javascript代码:
$.getJSON("http://example.com/getData.php?act=data",function(json) { $("#devMessage").html(json.message) if(json.version != version) { $("#latestVersion").css("color","red") } $("#latestVersion").html(json.version) })
服务器用这个json响应:
{"message":"Hello World","version":"1.0"}
但是出于某种原因,当我运行它时,小部件上的字段不会改变.从调试开始,我了解到小部件甚至没有向服务器发出请求,因此我认为Apple有一些外部URL阻塞.我知道这不可能是真的,因为很多小部件都打电话回家检查更新.
有没有人对什么可能是错的有任何想法?
编辑:此外,此代码在Safari中完美运行.
PHP:
echo $_GET["callback"].'({"message":"Hello World","version":"1.0"});';
使用Javascript:
function showBack(event) { var front = document.getElementById("front"); var back = document.getElementById("back"); if (window.widget) { widget.prepareForTransition("ToBack"); } front.style.display = "none"; back.style.display = "block"; stopTime(); if (window.widget) { setTimeout('widget.performTransition();', 0); } $.getJSON('http://nakedsteve.com/data/the-button.php?callback=?',function(json) { $("#devMessage").html(json.message) if(json.version != version) { $("#latestVersion").css("color","red") } $("#latestVersion").html(json.version) }) }
Tom.. 7
在Dashcode中单击" 小组件属性",然后单击" 允许网络访问",确保选中该选项.我已经建立了一些拒绝工作的东西,这就是解决方案.
在Dashcode中单击" 小组件属性",然后单击" 允许网络访问",确保选中该选项.我已经建立了一些拒绝工作的东西,这就是解决方案.