Hier ist das Szenario:
Ich möchte einige HTTP-API-Aufrufe mit Javascript zu machen, und haben die Antwort im Browser zu laden. Die Anfragen könnten sein GET
, POST
, PUT
o DELETE
und die Antwort, die zurückkommt, kann jede Art von Inhalt sein - HTML, JSON, XML, Bilder, Dokumente, binäre Inhalte oder was auch immer. Ich möchte, dass die Antwort vom Browser genau so behandelt wird, wie wenn der Browser eine neue Seite laden würde.
Das Problem ist, dass ich keine Möglichkeit sehe, die beliebigen Inhalte, die ich erhalte, zu laden.
Natürlich ist es möglich, Inhalte in das DOM zu laden, aber das erlaubt mir nur den Umgang mit HTML. (Und möglicherweise einige Medientypen wie Bilder usw. einbetten.) Ich sehe keine offensichtliche Möglichkeit, mit der Einbettung von Antworttypen wie JSON und XML umzugehen, ohne spezielle Fälle zu konstruieren, wie jeder Typ in HTML gerendert wird.
Ich habe überlegt, ob es nicht eine Lösung gibt, die Frames oder eine Änderung der window.location
um den Inhalt zu laden, aber ich sehe keine Möglichkeit, dies zu bewerkstelligen.
Ist es überhaupt möglich, das zu tun, wonach ich suche, oder können Sie elegante Umgehungslösungen vorschlagen, die helfen könnten?
Edita:
Ein wenig mehr Hintergrundinformationen - Dies ist für einige Arbeiten an einen API-Browser . Ich habe kein Problem damit, das, was ich brauche, mit GET
y POST
- Es ist PUT
y DELETE
die umständlich sind, da ich sie nicht direkt mit HTML unterstützen kann. Im Moment verwendet die Implementierung einige serverseitige Tricks und eine versteckte _method
Feld im Formular, das Folgendes ermöglicht POST
Anfragen, die überladen werden müssen in PUT
/ DELETE
/ OPTIONS
/was auch immer, aber idealerweise würde ich gerne diese Logik aus der Server-Seite zu nehmen, und tun das Äquivalent mit Javascript.
Im Moment glaube ich nicht, dass es wirklich machbar ist, aber ich hoffe, dass mir jemand das Gegenteil beweisen oder eine elegante Lösung finden kann.