2017-07-09 3 views
1

Ich baue eine Website mit einer Technik, die ich noch nie gesehen habe, und ich habe gerade herausgefunden warum, aber ich dachte, ich würde mit denen, die besser als ich zu überprüfen. Mein Projekt ist eingerichtet mit einem Tasks.php sieht, dass so etwas wie:Verwendung von externen PHP

<?php 
    if($_GET['task'] == 'task1'){ 
     $response = {'someTag':'someValue'}; 
    } 
    if($_GET['task'] == 'task2'){ 
     $response = {'someTag':'someValue'}; 
    } 
    if($_GET['task'] == 'task3'){ 
     if($_GET['info'] == 'someInfo'){ 
      $response = {'someTag':'someValue'}; 
     } 
    } 
    echo json_encode($response); 
    exit; 
?> 

diese Art und Weise, in meinem js ich im wesentlichen pHP-Funktionen mit ajax IE aufrufe

$.get('Tasks.php',{'task':'task3','info':'someInfo'},function(response){ 
    var data = JSON.parse(response); 
    console.log(data); 
}); 

, die ein js Objekt Litteral lügt würde:

{ 'SOMETAG': 'somevalue'}

Das Problem, das ich ist haben, dass mein PHP um die Funktionalität zu tun verloren hat etwas wie echo "$(body).append($('<div>'));"; Welches würde (mit jquery) ein div an den Körper meines Dokuments anhängen. Der Grund, warum ich es so mache, ist, weil ich möchte, dass alle meine Seiten die HTML-Erweiterung für andere Sachen haben. Ich würde annehmen, dass es einen Weg gibt, dieses div dort bereits zu haben, und es durch ID referenzieren, oder es irgendwie mit nur php sichtbar machen, und vielleicht ist meine Annahme von der Basis, oder ich brauche ein plugin oder eine Erweiterung oder etwas, aber, ich muss meine Verrücktheit (oder Dummheit) bestätigen.

Antwort

1

Sie erhalten eine JSON-Antwort und Sie können nicht sowohl HTML als auch JSON erhalten, also sind Sie auf dem richtigen Weg. Du solltest einen 'Erfolg'-Block in deinem Ajax haben, der ihm sagt, was mit dem JSON geschehen soll, der zurückkommt. Es gibt jede Menge Tutorials, wie man das macht, also muss ich den Code hier nicht kopieren. Aber wenn Sie danach stecken bleiben, dann kommen Sie zurück und stellen Sie eine andere Frage. Viel Glück!

+0

gibt es eine Möglichkeit, HTML mit dieser Methode zurück zu bekommen? –

+0

Sie können jeweils nur einen Datentyp zurückholen. Es wäre besser, JSON zurückzugeben und die Ergebnisse in HTML zu analysieren, das bereits vorhanden ist, selbst wenn es als leeres DIV beginnt. – Difster

Verwandte Themen