2016-07-08 14 views
0

EDITED: HERE IS WHAT IT IS RETURNING AT ALERT(DATA) Ich möchte PDF-Datei auf einen Klick öffnen. Ich habe versucht, dies mit AJAX zu tun, aber es öffnet nicht die PDF-Datei. Ich bekomme diesen Alarm immer, wenn ich auf die Schaltfläche View PDF klicke. HierÖffnen der PDF-Datei onclick einer Taste mit AJAX

ist der Code für meine AJAX:

function viewPDF(id){  
      $.ajax({ url: "viewCrf.php", 
      data: {'idd' : id}, 
      type: "POST", 
      success: function (data) { 
      } 
     }); 
} 

Die obige AJAX Code-Trigger sein wird, nach dem dieser Button angeklickt:

<td><input id='$idd' 
type='button' 
value='View PDF'class='btn btn-primary' onclick='viewPDF(this.id)' 
target='_blank' ></td> 

Der viewCrf.php enthält den Code für die Erzeugung von PDF. Verwendet POST-Methode den Wert zu erhalten, indem die AJAX weitergegeben dann die Daten erhalten aus der Datenbank

$id = $_POST['idd']; 
$q = $db->query("SELECT * FROM crf where col_ID = ".$id); 
    while($r = $q->fetch(PDO::FETCH_ASSOC)){ 
     $last    = $r['col_ln']; 
     $first    = $r['col_fn']; 
     $middle    = $r['col_mi']; 
     $civilstatus  = $r['col_civilstat']; 
     $sex    = $r['col_gender']; 
     $dob    = $r['col_bday'];    
    } 

Mein Problem hier ist, dass die PDF-Datei nicht zu öffnen. Obwohl der Erfolg Teil auf dem AJAX scheint etwas zu warnen, wenn ich alert(data) hinzufügen.

Dieser Code sollte angeblich eine PDF-Datei auf den Klick der Schaltfläche öffnen.

+1

Ich sehe nichts, das eine pdf hier –

+0

öffnen würde Was ist der resultierende Alarminhalt von 'alert (data)'? –

+0

Das ist mein Problem D: Ich weiß nicht, wie ich es auf den Knopf öffne. –

Antwort

1

Seit Verwendung von FPDF haben Sie sicherlich einige PHP code looking like this.

Wenn Sie keine Attribute für output() angegeben haben, wird Inline-HTML erstellt.
Reference about the output method here.

So sollte diese Arbeit:

<td> 
    <input id='$idd' type='button' value='View PDF'class='btn btn-primary' onclick='viewPDF(this.id)' target='_blank' > 
</td> 
<div id="pdfResult"></div> 

<script> 
function viewPDF(id){ 
    $.ajax({ url: "viewCrf.php", 
     data: {'idd' : id}, 
     type: "POST", 
     success: function (data) { 
      $("#pdfResult").html(data); 
     } 
    }); 
} 
</script> 
+0

Immer noch nichts zeigen. Ich habe meinen Beitrag bearbeitet und ein Bild hinzugefügt, was die Warnung (Daten) zurückgibt. –

+0

Überprüfen Sie den 'Dest' Parameter von' output() '. Es ist "I" standardmäßig ... Es sieht so aus, als ob Sie "S" ... wie für "String" angegeben haben. –

+0

Ich habe nichts in den Output() gelegt. Aber es gibt immer noch das obige Bild zurück. –

0

Ich wechsle die button zu einem href statt und GET-Methode verwenden.

<td>".$result['col_ID']."</td> 
<td>".$result['col_fn']." ".$result['col_ln']."</td> 
<td><a href='viewCrf.php?idd=".$idd."' type='button' 
value='View PDF'class='btn btn-primary' 
target='_blank' > 
</td> 
0

In Ihrer viewCrf.php-Datei müssen Sie Header bearbeiten zu sagen, das ist eine PDF-Datei (und nicht den pdf-Code zeigen.)

<?php header('Content-Type: application/pdf'); 
Verwandte Themen