Dashboard Cross-domain-AJAX mit jquery

Hey an alle, ich arbeite an einem widget für apples Dashboard und ich habe ein problem beim Versuch, Daten von meinem server mit Hilfe von jquery ' s ajax Funktion. Hier ist mein javascript code:

$.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)
})

Und der server antwortet mit dieser json:

{"message":"Hello World","version":"1.0"}

Aus irgendeinem Grund obwohl, wenn ich diesen starte, werden die Felder auf dem widget nicht ändern. Aus Debuggen, habe ich gelernt, dass das widget gar nicht machen die Anfrage an den server, so macht es mir denken, dass Apple hat eine Art von externen URL-sperren in Platz. Ich weiß, das kann nicht wahr sein, obwohl, weil viele widgets Handy zu Hause um nach updates zu suchen.

Hat jemand irgendwelche Ideen, was falsch sein könnte?

EDIT: Auch dieser code funktioniert einwandfrei in Safari.


Auf Anfrage von Luca, hier ist die PHP-und Javascript-code, der sofort ausgeführt:

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)
})
}

InformationsquelleAutor Steve Gattuso | 2009-02-20

Schreibe einen Kommentar