大家好,我正在为 Apple 的仪表板开发一个小部件,但在尝试使用 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)
})
}