Я создаю базовый сайт социальной сети с функцией создания групп. Весь мой код работает отлично, за исключением этого небольшого фрагмента кода, который отклоняет или утверждает ожидающих членов. Следующий код PHP отображает список ожидающих участников в определенной группе:Код Ajax не исполняется
if (in_array($_SESSION['username'],$moderators)){
$addMembers = "Pending members";
for($x=0;$x<$pend_count;$x++){
$addMembers .= '<a href="'.$pending[$x].'">'.$pending[$x].'</a>';
$addMembers .= '<button onclick="approveMember('.$pending[$x].')">Approve</button>';
$addMembers .= '<button onclick="declineMember('.$pending[$x].')">Decline</button>';
}
}
В OnClick событие должно вызвать следующие сценарии JS:
function approveMember(u){
var ajax = ajaxObj("POST", "php_parsers/group_parser.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
var datArray = ajax.responseText;
if(datArray == "member_approved"){
alert ("Member approved!");
}
}
}
ajax.send("action=approve_member&u="+u);
}
function declineMember(u){
var ajax = ajaxObj("POST", "php_parsers/group_parser.php");
ajax.onreadystatechange = function() {
if(ajaxReturn(ajax) == true) {
var datArray = ajax.responseText;
if(datArray == "member_declined"){
alert ("Member Declined");
}
}
}
ajax.send("action=decline_member&u="+u);
}
код AJAX выполняет PHP скрипт в фоновом режиме одобрить/отклонить участника и дать ответ «member_approved» или «member_declined», который затем должен вызвать оповещение в JS.
Теперь у меня есть около 10 из этих триггеров событий onclick для выполнения некоторого кода AJAX, который работает нормально, за исключением этих утверждений() и declMember(). Они просто не хотят запускать мои сценарии JS, и я не могу понять, почему. Я уверен, что проблема не в скрипте PHP, который должен выполняться в фоновом режиме.
Бьюсь об заклад, произошла ошибка в консоли веб-разработчиков. Если кнопки не представляют формы, это причина? – epascarello
Если вы используете jquery, почему вы проверяете readystatechange? почему вы запускаете свой собственный код ajax вместо использования jquery.ajax/jquery.get/etc ...? –