Dieses Szenario:
Der Benutzer fügt seine Postleitzahl in ein Eingabefeld ein, und wenn er auf den magischen Knopf klickt, sieht er die Geschäfte, die seinem Standort am nächsten sind. Ich nenne den Service vollkommen in Ordnung und lade ihn mit etwas AJAX-Güte ein. Alles ist gut.
Nun, anstatt die Ergebnisse irgendwo auf der Seite einzufügen, möchte ich, dass sie in einer Fancybox angezeigt werden. Ich kann das einfach nicht machen.
JavaScript:
%Vor% Ich erwarte, dass Fancybox erscheint und zeigt mir das Markup von der URL an ( nzData
). Fancybox lädt, aber anstelle von Inhalt, bekomme ich eine Zeichenfolge, die sagt " Der angeforderte Inhalt kann nicht geladen werden. Bitte versuchen Sie es später erneut. ".
Es ist kein Problem mit dem Service, also vermute ich, dass ich nur etwas übersehen oder die Fancybox-API vergewaltige. Also, was mache ich falsch?
EDIT: Ich habe vergessen zu erwähnen, dass ich die alte Version von Fancybox (v1.3.4) benutze.
Ich habe den Inhalt in einen versteckten Container auf der Seite geladen und diesen Inhalt dann in einer Fancybox angezeigt.
%Vor%Es ist nicht sehr hübsch, ich gebe es zu, aber es ist der einzige Weg, wie ich es zum Laufen bringen kann. Ich habe heute Morgen mit einem anderen Entwickler gesprochen, der bei einem ähnlichen Problem auf dieselbe Lösung zurückgegriffen hat.
Dennoch muss es eine bessere Lösung geben. Wenn jemand weiß, würde ich es gerne hören!
Ich weiß, dass das eine alte Frage ist, aber ich musste mich kürzlich mit etwas Ähnlichem befassen. Hier ist, was ich getan habe, um Ajax in fancybox zu laden.
%Vor%Ich war daran interessiert, das Gleiche zu tun. Ich kam zu einer ähnlichen Lösung, aber es ist anders als alle anderen hier empfohlenen. Nach dem Betrachten der Dokumentation für beide APIs sollte dies in V1 oder V2 funktionieren.
%Vor%Dann, Ihr Container für die Daten.
%Vor%So habe ich es gemacht:
Sie brauchen drei Elemente:
1) Sie brauchen ein Div, das als Container für die Fancybox dient, nennen wir es #fancycontainer
2) #fancylink ist eine versteckte <a>
mit href zum fancybox div (in diesem Fall href="#fancycontainer"
)
3) #button ist das anklickbare Element, das alles lädt.
Fügen Sie in der onload-Funktion den folgenden Code hinzu:
%Vor%Hoffe das hilft jemandem