2016-07-28 5 views
-1

Ich habe eine Client-Seite jquery Code, der das lokale Datum des Clients erhält und es auf dem Server veröffentlichen. Wenn dieser Post auf der Serverseite empfangen wird, möchte ich in meinem PHP-Code einige Aktualisierungen an der Seite vornehmen (unter Verwendung von Echo-Statements) und sie mit diesen Änderungen anzeigen. Also, wie kann ich diese Echo-Anweisungen zwingen, die Seite dort zu aktualisieren.Wie man eine PHP-Seite aktualisiert und Änderungen nach Erhalt von Post von jquery zeigt

Der Grund, warum ich dies tue, ist, Informationen von PHP zu Javascript zu kommunizieren. Durch das Echo wollte ich etwas in das HTML-Dokument schreiben, so dass JavaScript Informationen aus diesem aktualisierten HTML-Dokument extrahieren konnte. Aber da dies wahrscheinlich nicht funktionieren wird, was sind andere Möglichkeiten, um Informationen aus der if-Anweisung von PHP an Javascript zu senden?

+0

Sie nicht, Sie werden feststellen, dass Spanne mit jQuery –

+0

Check out "Ajax" – prgrm

+0

Ich möchte hinzufügen, um machen diese Änderungen von der Serverseite. Ich weiß, ich kann es von Ajax/Jquery auf der Client-Seite tun. Aber aus irgendeinem Grund möchte ich die Seite von der Serverseite aktualisieren. Ist das überhaupt möglich? – pythonic

Antwort

1

könnten Sie tun, dass eine Form von dynamisch erstellen und einreichen:

$('body') 
    .append('<form id="myForm"></form>'); //append a new form element with id myFormto <body> 
$('#myForm') 
    .attr("action","#") .attr("method","post") //set the form attributes 
    .append('<input type="hidden" name="dateStr" id="dateStr" value="!!YOUR VALUE HERE!!">') //add in all the needed input element 
    .submit(); 
+0

Was ist mit der Verwendung von jquery bekommen? – pythonic

+0

jQuery.get ist eine Abkürzung für die Ajax-Funktion, es aktualisiert die Seite nicht. – evilpenguin

+0

Alles was ich will ist ein paar Informationen vom Server. Ich kann diese Informationen innerhalb von xml oder json durch ein separates PHP-Skript einbinden und diese Informationen dann mit Javascript parsen. Nein? – pythonic

1

Sie können diese Seite nicht direkt vom Server tun. Der Grund ist, dass Sie die Seite neu laden müssen, um die Änderungen anzuzeigen, aber sobald Sie die Seite neu laden, werden die Daten nicht beibehalten, es sei denn, Sie speichern die Änderungen in der Sitzung oder im Cookie. Dann überprüfen Sie auf jeder Seite, ob die Sitzungsvariable oder der Cookie vorhanden ist, und wenn dies der Fall ist, laden Sie die Daten aus der Sitzung oder dem Cookie, andernfalls laden Sie die Originaldaten.

Die Lösung ist, Ajax zu verwenden. Hier ist ein einfaches Beispiel mit Erklärungen.

PHP:

if(isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0) 
{ 
    echo "success"; 
} 

Javascript:

$(function(){ 
    $('#button').on('click', function(e){ 
    e.preventDefault(); 

    $.ajax({ 
     url: 'yourphpcontroller.php', 
     type: 'post', 
     data: {dateStr: 'mystring' }, // can be obtained with jQuery attr 
     success: function(data, status) { 
     if(data == "success") { // the response coming from php; if the response is success means we can proceed 
      $('#myhtmlelement').append('<span style="color:red"></span>'); // append to html tag   
     } 
     }, 
     error: function(xhr, desc, err) { 
     console.log(xhr); 
     console.log("Details: " + desc + "\nError:" + err); 
     } 
    }); // end ajax call 
    }); 
+0

Das macht keinen Sinn, wenn Sie mit dem 'dateStr' in PHP nichts anderes machen. Du machst einfach ohne Grund einen AJAX-Anruf. – evilpenguin

+0

Hey, es ist nur ein Beispiel. Was erwartest du?Ich kann kein voll funktionsfähiges Beispiel liefern, es sei denn, es ist keine klare Anforderung. –

Verwandte Themen