大家好,我正在为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中也可以正常工作。
根据Luca的要求,这是目前正在运行的PHP和Javascript代码:
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)
})
}