Intereting Posts
как читать facebook signed_request, чтобы получить user_id Сессии Отказоустойчивость с PHP-memcache против memcached Bitfinex API v2 Аутентифицированные конечные точки с использованием PHP и cURL Изображение, созданное с помощью blob, содержит только числа и запятые Как ограничить использование памяти ffmpeg PHP: что является альтернативой empty (), где строка «0» не считается пустой? PHP if или statement не работает Предупреждение: mysql_fetch_row () ожидает, что параметр 1 будет ресурсом Как получить более 5000 запросов от инструментов веб-мастеров api? Опубликовать в facebook страницу поклонника как пользователь Каков эквивалент JavaScript-декодированияURIкомпонент в PHP? Joomla 3.2 Сгруппированный список Пользовательский список полей не имеет значения SELECTED PHP API поддерживает несколько вызовов Magento Fatal error: Class 'Mage_Wsalogger_Helper_Data' не найден в … /app/Mage.php в строке 546 Переменные в объектных операторах

Отправка данных объекта из AJAX в PHP

Я пытаюсь отправить данные в файл 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 в нижней части экрана, и вы сможете просмотреть точную информацию заголовка.