When I pass POST data through AJAX to my controller, it is empty. In AJAX, the data is still present, but after I send it the controller, it says that it is empty.
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', ' UserController@validateUsername ');
UserController.php:
class UserController extends BaseController { public function validateUsername() {
The code I console.logged (which is empty and should contain the username):
<pre class='xdebug-var-dump' dir='ltr'> <b>array</b> <i>(size=0)</i> <i><font color='#888a85'>empty</font></i> </pre>
post ajax php laravel
Laurens smid
source share