Привет всем, я работаю над виджетами для панели управления Apple, и у меня возникла проблема при попытке получить данные с моего сервера с помощью функции jjery ajax. Вот мой код Javascript:Dashboard Cross-domain AJAX с jquery
$.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 на месте. Я знаю, что это не может быть правдой, потому что многие виджеты дома по телефону проверяют наличие обновлений.
Есть ли у кого-нибудь идеи относительно того, что может быть неправильным?
EDIT: Кроме того, этот код отлично работает в 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)
})
}
Немного позже ответа, но это было сделано! –