2016-04-07 22 views
0

Ich versuche, jQuery zu verwenden, um einen AJAX-Aufruf an eine PHP-Seite zu senden, aber ich habe Schwierigkeiten. Mein Problem ist das Parsen einer Variablen von PHP nach jQuery. Ich habe es stundenlang versucht und ich habe aufgegeben. Ich hoffe, dass mir jemand helfen kann!Parsing PHP-Variable zu Jquery

Es funktioniert. Und es schreibt "Hurra!". Ich möchte es für meine PHP-Variablen schreiben .....

Hier ist meine Jquery-Skript

function saveToDatabase(editableObj,column,id){ 
// $(editableObj).css("background","#FFF url(html/images/ajaxLoader.gif) no-repeat right"); 
$.ajax(
{ 
    url: "logic/do.php", 
    type: "POST", 
    data: 'action=ajaxSimplePost&column='+column+'&editval='+editableObj.innerHTML+'&id='+id, 
    success: function(data) 
    { 
     // $(editableObj).css("background","#FDFDFD"); 
     Messenger().post(
     { 
      // var message should instead contain: the PHP variable: "myMessage". 
      message: 'Hurray!', 
      hideAfter: 3, 
      type: "error" 
     }) 

    } 
}); 
} 

Und hier ist mein PHP-Code:

if($_POST[action] == "ajaxSimplePost") 
{ 
    $myMessage = "Yes it came through....."; 
} 
+0

Was bekommen Sie, wenn Sie 'console.log (Daten)'? – callback

+2

'Funktion (Daten)' enthält die Antwort von PHP, z.B. Wenn Sie "echo" Ja, es kam durch ";' in PHP dann Daten haben diese Zeichenfolge drin. – apokryfos

Antwort

2

starten:

in der PHP-Datei:

if($_POST[action] == "ajaxSimplePost") 
{ 
    $myMessage = "Yes it came through....."; 
    echo $myMessage; 
} 

Und in Ihrem JQuery Script:

function saveToDatabase(editableObj,column,id){ 
// $(editableObj).css("background","#FFF url(html/images/ajaxLoader.gif)  no-repeat right"); 
$.ajax(
{ 
    url: "logic/do.php", 
    type: "POST", 
    data: 'action=ajaxSimplePost&column='+column+'&editval='+editableObj.innerHTML+'&id='+id, 
    success: function(data) 
    { 
     // $(editableObj).css("background","#FDFDFD"); 
     Messenger().post(
     { 
      // var message should instead contain: the PHP variable: "myMessage". 
     message: data, 
     hideAfter: 3, 
     type: "error" 
     }) 
    } 
}); 
} 

Zur Klarstellung:
Ihre PHP-Datei eine Ausgabe erstellen müssen (Henche die echo), und diese Ausgabe in data in Ihren Erfolg Rückruf sein wird.

+1

Er hat recht, du brauchst diese Ausgabe. Nur weil etwas eine Variable in einer Sprache ist, bedeutet das nicht, dass eine andere Sprache es verstehen kann. Javascript hat keine Möglichkeit zu wissen, was "unter der Haube" des PHP-Skripts vor sich geht. Nur durch tatsächliches Ausgeben der Daten und anschließendes Verarbeiten oder Parsen mit Javascript können die beiden kommunizieren. Deshalb ist dies die Antwort :) – aaronofleonard

+0

Etwas funktioniert :) Ich habe ein Jquery-Addon, das kleine Hinweise auf Fehler/Erfolg usw. macht. Aber jetzt gibt es die gesamte Webseite in dieser Benachrichtigung aus ... LOL:) Aber toll, dass etwas funktioniert! Unsicher, warum die ganze Seite als "Daten" zurückkehren kann ......? – Nikolaj

+0

@Nikolaj das ist vollkommen korrektes Verhalten: Das PHP-Skript gibt HTML (oder alles, was als HTML verstanden werden könnte) zurück. Sie sollten ein Skript haben, das nur die gewünschte Ausgabe ausgibt. – Burki