Wenn ich POST-Daten über AJAX an meine Steuerung weiterleiten, ist es leer. Im AJAX sind die Daten immer noch da, aber nachdem ich es dem Controller gesendet habe, heißt es, dass es leer ist.Laravel AJAX POST-Anforderung ist leer
AJAX:
function usernameCheck()
{
var input = document.getElementById("usernameInput");
var icon = document.getElementById("userIcon");
var xmlhttp,
username = document.getElementById("usernameInput"),
message = document.getElementById("usernameMessage");
if (username.value != "") {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
// FOR DEBUGGING
console.log(xmlhttp.responseText);
}
}
}
xmlhttp.open("POST", "usernamevalidation", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("username=" + username.value);
}
}
routes.php:
Route::post('usernamevalidation', '[email protected]');
UserController.php:
class UserController extends BaseController {
public function validateUsername() {
// FOR DEBUGGING
dd(Input::all());
}
}
Der Code, den I console.logged (die leer ist und die enthalten sollte, Benutzername):
<pre class='xdebug-var-dump' dir='ltr'>
<b>array</b> <i>(size=0)</i>
<i><font color='#888a85'>empty</font></i>
</pre>
Versuchen Sie 'dd (\ Request :: getContent))' und sehen Sie, was Sie erhalten. – Dencker
debug die Ajax-Anfrage zuerst. Öffnen Sie Ihre Browser-Konsole und prüfen Sie die Ajax-Anfrage Formular Daten in der Kopfzeile. – SKG
es gibt mir einen 500 internen Server Fehler, ich versuchte es mit einfachen PHP $ _REQUEST, und das ist auch leer. –