Ich habe hier überall danach gesucht. Ich brauche nur eine einfache “Anleitung”, um jsonp Cross-Domain zu ziehen. Ich verwende jQuery 1.5.1.
Ich habe Folgendes in einem Programm auf einer anderen Website versucht:
$.getJSON("http://www.mydomain.com/testjson.json?jsoncallback=?", function(data) {
alert("I'm hitting this.");
}
Das geht gar nicht.
Gibt es eine Möglichkeit, nur einen einfachen Cross-Domain-JQuery-JSONP-Aufruf durchzuführen?
Danke
JSONP erfordert die Zusammenarbeit des Servers, um erfolgreich zu sein. Sie können keine zufälligen Seiten mit JSONP abrufen und erwarten, dass sie erfolgreich sind; Der Server muss wissen:
- Es muss eine JSONP-Antwort anstelle einer JSON-Antwort formuliert werden.
- Es muss den Namen der Funktion kennen, um die Antwort zu umschließen.
Wenn Sie sich nicht sicher sind, warum der Server diese kennen muss oder was die Unterschiede zwischen JSON und JSONP sind, sollten Sie sich darüber informieren. oder das Ganze macht keinen Sinn. Schauen Sie sich für den Anfang Kann jemand erklären, was JSONP in Laiensprache ist? und http://en.wikipedia.org/wiki/JSONP.
Nachdem Sie dies ein wenig besser verstanden haben, werden Sie wahrscheinlich feststellen, dass der Server zurückkehrt
{ "key": 1, "bar": "foo" }
(was gültiges JSON ist), anstatt:
someCallback({ "key": 1, "bar": "foo" })
das ist eine JSONP-Antwort.
Wenn Sie diese versuchen http://terrasus.com/detail.jsp?articleID=396 Schritt für Schritt wird es gut funktionieren. Wenn Sie eine JSONP-Antwort erzeugen, sollten Sie den Rückrufwert abrufen und dynamisch auf Ihre Antwort setzen. Dieser Artikel enthält eine detaillierte Erklärung
.
Du fehlst
);
Am Ende. Überprüfen Sie die Konsole auf Fehler.– Felix Klinge
28. März 11 um 18:21 Uhr