Привет всем, я работаю над виджетом для 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 и 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)
})
}