success в js не срабатывает
Не срабатывает успех в js. Есть обработчик, есть файл где выпадающий список. Выбрав пункт в списке, отсылается в js и отправляется в обработчик (все успешно меняется), но из обработчика я посылаю еще значение обратно, оно не приходит. js:
<script>
function tstsel(opt){
var group = opt.value;
$.ajax({
url: "../../system/user/js/permissions.php",
type: "POST",
dataType: 'json',
data: ({ member_id: <?php echo $member_id; ?>, member_group: group }),
success: function(data){
var obj = jQuery.parseJSON(data);
if(obj.status_done == '1'){
toastr.success('Группа выставлена');
}
}
});
return false;
}
</script>
<select class="select2 form-control form-control-lg" onchange="tstsel(this);">
<option value="<?php echo $member_group; ?>" selected><?php echo $name_group_member; ?></option>
<option value="1">Исполнитель</option>
<option value="2">Заказчик</option>
<option value="4">Модератор</option>
<option value="5">Администратор</option>
</select>
<?php
$data = json_decode(file_get_contents("php://input"));
$member_id=$_POST['member_id'];
$member_group=$_POST['member_group'];
include("../../../config/bd.php");
$res = mysql_query("UPDATE `users` SET `user_group`='$member_group' WHERE `user_id`='$member_id'");
$data = array(
'status_done' => '1'
);
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json;
?>
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
data: ({ member_id: '<?php echo $member_id; ?>', member_group: group }),
...
var obj = data;
Если переменная
$member_idне является числом (а, к примеру, строкой) ее значение в JavaScript-е надо заключить в кавычки. Без кавычек получится код, обращающийся к необъявленной переменной, что вызывет ошибку выполнения, или вообще синтаксически неверный код, что вызовет ошибку парсера.Вы используете
dataType: 'json',в$.ajaxи возвращаете JSON. В таком случаеdataуже объект, полученный из этого JSON-а.