Я пытаюсь отправить данные в файл php для сохранения в базе данных, но у меня нет ответа. Если флажок установлен, [obj] [idCheckbox] = 1, else [obj] [idCheckbox] = 0.
Файл, который отправляет
var i=0; var objetoTodasPermissoes = function(){}; var objTodasPermissoes = new objetoTodasPermissoes(); $.each($(".classePermissoes"), function(){ objTodasPermissoes[$(this)[0].id] = 0 i++; }); $.each($(".classePermissoes:checked"), function(){ alert('ok'); objTodasPermissoes[$(this)[0].id] = 1; }); console.log(objTodasPermissoes); $.each($("#userList tr"),function(){ alert(this.id); var iduser = this.id; $.ajax({ url:'../json/usuarioperm/savePermissions.php', data:({ idusuario:iduser, objTodasPermissoes:objTodasPermissoes, }), success:function(a){ Alert("Saved!"); } }); }); }
файл savePermissions.php.
$iduser = $_POST["iduser"]; $perm_usuarios = $_POST["objTodasPermissoes"]["perm_usuarios"]; $perm_importar = $_POST["objTodasPermissoes"]["perm_importar"]; $perm_log = $_POST["objTodasPermissoes"]["perm_log"]; $perm_proto = $_POST["objTodasPermissoes"]["perm_proto"]; $perm_limpeza = $_POST["objTodasPermissoes"]["perm_limpeza"]; $perm_lixeira = $_POST["objTodasPermissoes"]["perm_lixeira"]; $perm_relatusuarios = $_POST["objTodasPermissoes"]["perm_relatusuarios"]; $perm_deptos = $_POST["objTodasPermissoes"]["perm_deptos"]; $perm_deptospastas = $_POST["objTodasPermissoes"]["perm_deptospastas"]; $perm_empresas = $_POST["objTodasPermissoes"]["perm_empresas"]; mysql_query("UPDATE hospital.users set perm_usuarios=".$perm_usuarios.", perm_importar=".$perm_importar.", perm_log=".$perm_log.", perm_proto=".$perm_proto.", perm_limpeza=".$perm_limpeza.", perm_lixeira=".$perm_lixeira.", perm_relatusuarios=".$perm_relatusuarios.", perm_deptos=".$perm_deptos.", perm_deptospastas=".$perm_deptospastas.", perm_empresas=".$perm_empresas." where id=".$iduser) or die (mysql_error());
Спасибо.
PHP интересен тем, что он не тянет от $_POST
как другие формы, когда задействован Ajax. Вам действительно нужно будет прочитать ввод с входа php://input
Вот крошечный пример
$data = file_get_contents("php://input"); $response = json_decode($data, true ); // True converts to array; blank converts to object $emailAddr = $response["email"];
Надеюсь, вы сможете применить это успешно.
Изменить: вы можете добавить команду filter_var для удаления плохих символов и дезинфекции ввода.
$emailAddr = filter_var($response["email"], FILTER_SANITIZE_EMAIL); $firstName = filter_var($response["firstName"], FILTER_SANITIZE_STRING);
Отлаживая это, я настоятельно рекомендую использовать режим разработчика Chrome с вкладкой «сеть». Найдите ваш вызов ajax в нижней части экрана, и вы сможете просмотреть точную информацию заголовка.