2016-11-28 8 views
0

posten So habe ich nie eine POST-Methode verwenden, um eine Bildvorschau in iframe zu bekommen. Das Problem, in das ich hineingeraten bin, ist, dass, wenn ich die Netzwerkkarte überprüfe, ich die richtigen Antworten bekomme, aber ich bekomme das tatsächliche Bild nicht, das ich angefordert habe.wie man Daten in Iframe mit angularjs

mein Controller:

$scope.Url = $http.post("/services/v3/documents",     // 1. url 
      { 
       "fileTitleText" : "will be the title text of the PDF", 
       "widthMeasure" : 612, 
       "heightMeasure" : 792, 
       "docBag" : 
        [ 
         { 
          "bookmarkTitleText" : "doc 1", 
          "applicationNumberText" : "14352947", 
         "previewFile" : "true" 
         } 
        ] 
      }            // 2. request body 
                 // 3. config object 
    ); 

html:

<iframe frameBorder="0" class="modal-iframe" src="{{Url}}" ></iframe> 

Wenn der Browser die Seite macht ... es lädt nur die Basis-URL. Wenn mir jemand helfen kann, den Postanruf zu bekommen, wäre das großartig!

Dank

EDIT:

habe einige Ratschläge, die ich unten bekam $ scope.url in einem dann zu setzen ... hier ist das, was ich habe, was mein Problem nicht lösen ... vielleicht ist es das So wie ich es schrieb

$http.post('/services/v3/documents', 
      { 
        "fileTitleText" : "will be the title text of the PDF", 
        "widthMeasure" : 612, 
        "heightMeasure" : 792, 
        "docBag" : 
         [ 
          { 
           "bookmarkTitleText" : "doc 1", 
           "applicationNumberText" : "14352947", 
          "previewFile" : "true" 
          } 
         ] 
       }   
     ) 
     .then($scope.Url); 
+2

Sie scheinen zu wollen, um das Ergebnis des '$ http.post' Aufruf sammeln , was ich für ein Versprechungsobjekt halte. Sie müssen $ scope.Url in einem 'then' Block setzen. Sehen Sie sich https://docs.angularjs.org/api/ng/service/$http#post – frishi

+0

hmm interessant an ... versuchen Sie es und aktualisieren Sie es! – jeremy

+0

Sie setzen das 'src'-Attribut von iframe, das eine URL sein sollte. Ich sehe, dass Sie in Ihrem Update auf Ihre Frage 'then ($ scope.Url)' haben. Das wird nichts bewirken. Der 'then' Block akzeptiert eine Callback-Funktion. Die Antwort zeigt ihre korrekte Verwendung, aber was ist "Antwort"? Ist es eine URL? Ist es JSON Antwort? . Damit das Iframe das richtige Bild anzeigt, muss das Attribut 'src' eine URL sein. – frishi

Antwort

0

Try this:

$http.post('/services/v3/documents', 
     { 
       "fileTitleText" : "will be the title text of the PDF", 
       "widthMeasure" : 612, 
       "heightMeasure" : 792, 
       "docBag" : 
        [ 
         { 
          "bookmarkTitleText" : "doc 1", 
          "applicationNumberText" : "14352947", 
         "previewFile" : "true" 
         } 
        ] 
      }   
    ) 
    .then(function(reponse){ 
     $scope.Url = response; 
    }); 
+0

bekommen eine Antwort nicht definiert Fehlercode in der Konsole – jeremy

+0

Ich habe bereits die Antwort geändert, versuchen Sie es erneut. – Donnie

+0

hmm jetzt spuckt es eine 404 (nicht gefunden Fehler) auf GET "GET http: // localhost: 3000 /% 7B% 22data% 22:% 22% PDF -.... 404 (nicht gefunden)" – jeremy

Verwandte Themen