Я пытаюсь реализовать классическую проверку доступности имени пользователя с помощью jquery и ajax.вот мой подход:
jquery, на стороне клиента:
$("#usrnameTBox").keyup(function(){
if ($(this).val().length > 2) {
$.ajax({
type: 'POST',
url: 'ajax/ajaxPerfil.php',
data: { function : "askForUsr", usrname: $(this).val() },
dataType: 'json',
success: function(data) {
alert(data);
if(data.exists) {
$(".usrSt").attr('style', '')
.attr('style', "color:red;")
.html('YA ESTÁ EN USO');
} else {
$(".usrSt").attr('style', '')
.attr('style', "color:green;")
.html('Disponible!!!');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert("Error!!! =/");
}
});
} else {
$(".usrSt").attr('style', '')
.attr('style', "display:none;")
.html('');
}
});
php, на стороне сервера:
<?php
require_once("../src/ajax/ajaxPerfilController.php");
?>
ajaxPerfilController.php:
<?php
$srcFolder = "../src/";
$classes = array("mappers/Perfil.php",
"fachadas/PerfilFachada.php"
);
foreach ($classes as $class)
require_once($srcFolder.$class);
function getByAttr($attr, $value) {
if (strcmp($attr,"usrname") == 0) {
$fachada = PerfilFachada::singleton();
return $fachada->exists($value);
}
return NULL;
}
if (isset($_POST["function"])) {
if (strcmp($_POST["function"],"askForUsr") == 0) {
if (isset($_POST["usrname"])) {
if (getByAttr("usrname",$_POST["usrname"])) {
$return["exists"] = True;
echo json_encode($return);
} else {
$return["exists"] = False;
echo json_encode($return);
}
}
}
}
?>
Дело в том, что мне постоянно сообщают об ошибке сервера 500 !!!с маршрутами require все в порядке, так как я запрограммировал запрос и попробовал его на консоли ... Итак, я не знаю, что еще делать, я попытался с dataType 'html', 'text', 'json' ввызов ajax, но получил тот же результат.Я думаю, это просто, но я просто не знаю, что делать ...
на всякий случай, я использую google-chorme
спасибо за вашу помощь !!!=) * * 1016