Ich habe seit einigen Tagen nach einer Antwort gesucht, aber wenn ich die Antwort in einem anderen Post verpasst habe, lassen Sie es mich wissen.
Ich versuche, in Ajax zu bekommen, so dass ich eine sehr einfache Form in meinem index.php, mit separaten PHP und Javascript-Dateien:
index.php
<div id="ajax-test">
<form action="ajax/ajax.php" method="POST">
<textarea name="someText" id="some-text" placeholder="Type something here"></textarea>
<button type="button" onclick="loadDoc()">Submit</button>
</form>
<div id="ajax-text"></div>
</div>
main.js :
function getXMLHttpRequestObject() {
var temp = null;
if(window.XMLHttpRequest)
temp = new XMLHttpRequest();
else if(window.ActiveXObject) // used for older versions of IE
temp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
return temp;
}// end getXMLHttpRequestObject()
function loadDoc() {
var ajax = getXMLHttpRequestObject();
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
document.getElementById('ajax-text').innerHTML = ajax.responseText;
console.log(ajax.responseText);
}
};
ajax.open("POST", "ajax/ajax.php", true);
ajax.send();
}
ajax.php:
<?php
print_r('\'' . $_POST['someText'] . '\' is what you wrote');
?>
Immer wenn ich versuche zu drucken, wird Folgendes gedruckt: "'' ist was du geschrieben hast" - was vermisse ich/mache ich nicht/tue es nicht, dass ich nicht auf den Inhalt von someText zugreifen kann? Ich habe meine Benennungskonvention geändert, vom einfachen Anführungszeichen in das doppelte Anführungszeichen getauscht, habe GET anstelle von POST versucht, aber nichts hat funktioniert.
Sie tun, Datei-Datei nicht benötigen die Daten zu setzen, wenn Aufruf von [send() ] (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send)? – FirstOne
Haben Sie die AJAX-Anfrage/-Antwort in den Browser-Entwicklertools gesehen? Werden Fehler gemeldet? Laufen Sie das auf einem Webserver? –
Zusammen mit dem, was @FirstOne sagte, müssen Sie die zu sendenden Daten erfassen, wenn Sie 'loadDoc() aufrufen' –