2016-10-04 7 views
1

Ich habe eine JQuery-Funktion, die Daten aus einem PHP-Formular an eine andere PHP-Datei (submitForm.php) übermittelt. Die Vorlage funktioniert gut, und es gibt kein Problem auch immer, unten ist der Handler:Holen Sie Daten aus einer anderen PHP-Datei mit JQuery

submitHandler : function(){      
     $.ajax({ 
      type: "POST", 
      cache:false, 
      url: "submitForm.php", 
      data: $('#form').serialize(), 
      success: function(data) {      

      } 
     }); 
    } 

Jetzt mag ich in der Lage get Daten aus dem Formular einreichen (submitForm.php) sein, und es in eine andere Seite zu laden.

Das ist mein submitForm.php

<?php 
     $name="Amanda"; 
     $age="23"; 

     $data = array("name"=>"$name","age"=>"$age"); 
     header("Content-Type: application/json"); 
     echo json_encode($data); 
    ?> 

Dies ist, wie meine neue submitHandler sieht aus wie

 submitHandler : function(){      
    $.ajax({ 
     type: "POST", 
     cache:false, 
     url: "submitForm.php", 
     data: $('#form').serialize(), 
     success: function(data) {      
       var name= html(name); 
       var age=html(age); 

     $("#message").load("newpage.php",{name:name,age:age}); 

     } 
    }); 
} 

Ich denke, dass ich es falsch mache, wäre ich dankbar, wenn jemand mich korrigieren könnte oder geben Idee, wie man das macht. Danke

+0

Ist diese "neue Seite" ein neues Fenster oder Tab? oder du meinst die zurückgegebenen Daten von 'submitForm.php' im Element' $ ("# message") angezeigt zu bekommen? –

+0

@DIEGOCARRASCAL Es verwendet die zurückgegebenen Daten für eine andere SQL-Abfrage, die im Element angezeigt wird $ ("# Nachricht") ' – George

+0

Dann sollten Sie kein Problem nur angezeigt haben, zeigt Hakan SONMEZ Antwort den Fehler in Ihrem Code. –

Antwort

3

Es sollte so sein. Wenn Sie Ihre Rückkehrerdaten verwenden möchten, sollten Sie formale Parameter der Erfolgsfunktion verwenden.

submitHandler : function(){      
    $.ajax({ 
     type: "POST", 
     cache:false, 
     url: "submitForm.php", 
     data: $('#form').serialize(), 
     dataType : 'json', 
     success: function(data) {      
       var name= data.name; 
       var age=data.age; 

     $("#message").load("newpage.php",{name:name,age:age}); 

     } 
    }); 
} 

Edit: Auch brauchen Sie dataType: 'Json' Linie.

+0

Dank @Hakan SONMEZ, ich bin dankbar – George

Verwandte Themen