Ecommerce Shopify WordPress Discussion

WordPress 400 (Bad Request) wp-admin/admin-ajax.php [closed]

Closed. This question is not written in English. It is not currently accepting answers. Stack Overflow is an English-only site. The author must be able to communicate in English to understand and engage with any comments and/or answers their question receives. Don't translate this post for the author; machine translations can be inaccurate, and even human translations can alter the intended meaning of the post. Closed 3 days ago. Improve this question Estou criando um plugin para sistema de reserva de mesas e estou tendo o erro de 400 (Bas Request) ao tentar enviar o formulario para o banco de dados (MY SQL), ja verifiquei todos os codigos e nao conseguir identificar erros, e banco de dados está conectado e estavel. mesa-reserva.php /* Plugin Name: Mesa Reserva Description: Um plugin para implementar um sistema de reserva de mesas em uma página de site WordPress com MySQL. Version: 1.0 Author: Caio Oliveira */ // Adiciona uma mensagem de log no console do navegador add_action('wp_footer', 'log_conexao_banco_de_dados'); function log_conexao_banco_de_dados() { ?> <script type="text/javascript"> console.log('Conexão bem-sucedida com o banco de dados.'); </script> <?php } // Função para carregar scripts e estilos do plugin function mesa_reserva_scripts() { wp_enqueue_style('mesa-reserva-style', plugins_url('mesa-reserva.css', __FILE__)); wp_enqueue_script('mesa-reserva-script', plugins_url('mesa-reserva.js', __FILE__), array('jquery')); } add_action('wp_enqueue_scripts', 'mesa_reserva_scripts'); // Função para registrar o shortcode de mesa-reserva function mesa_reserva_shortcode() { ob_start(); include 'mesa-reserva-form.php'; return ob_get_clean(); } add_shortcode('mesa-reserva', 'mesa_reserva_shortcode'); // Configuração da tabela do banco de dados function mesa_reserva_install() { global $wpdb; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE {$wpdb->prefix}mesa_reservas ( id INT(11) NOT NULL AUTO_INCREMENT, mesa_id INT(11) NOT NULL, nome VARCHAR(255) NOT NULL, telefone VARCHAR(255) NOT NULL, responsavel VARCHAR(255) NOT NULL, data_reserva DATETIME NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); } register_activation_hook(__FILE__, 'mesa_reserva_install'); // Callback da requisição AJAX para inserir uma reserva no banco de dados add_action('wp_ajax_nopriv_mesa_reserva', 'mesa_reserva_ajax_callback'); add_action('wp_ajax_mesa_reserva', 'mesa_reserva_ajax_callback'); function mesa_reserva_ajax_callback() { global $wpdb; // Verifica se os dados foram recebidos de forma adequada if (isset($_POST['mesa_id'], $_POST['nome'], $_POST['telefone'], $_POST['responsavel'])) { // Obtém os dados do POST $mesa_id = $_POST['mesa_id']; $nome = $_POST['nome']; $telefone = $_POST['telefone']; $responsavel = $_POST['responsavel']; // Insere os dados no banco de dados $wpdb->insert($wpdb->prefix . 'mesa_reservas', array( 'mesa_id' => $mesa_id, 'nome' => $nome, 'telefone' => $telefone, 'responsavel' => $responsavel, 'data_reserva' => current_time('mysql') )); // Envie uma resposta de sucesso em JSON wp_send_json_success(); } else { // Se os dados estiverem ausentes ou incorretos, envie uma resposta de erro em JSON wp_send_json_error('Dados incompletos ou inválidos.'); } } ?> mesa-reserva.js jQuery().ready(function($) { $('.mesa-reserva-button').on('click', function() { var mesaId = $(this).data('mesa-id'); var mesaForm = $(this).parent().find('.mesa-reserva-form'); if (mesaForm.is(':visible')) { mesaForm.hide(); } else { mesaForm.show(); } }); // Adicione este manipulador de eventos para exibir informações da reserva quando uma mesa reservada for clicada $('.mesa-reserva-form').on('click', function() { var mesaId = $(this).find('input[name="mesa_id"]').val(); var reservaInfo = $(this).parent().find('.reserva-info'); reservaInfo.show(); }); // Manipulador de evento para enviar o formulário de reserva via AJAX $('.mesa-reserva-form').on('submit', function(e) { e.preventDefault(); var form = $(this); var mesaId = form.find('input[name="mesa_id"]').val(); var nome = form.find('input[name="nome"]').val(); var telefone = form.find('input[name="telefone"]').val(); var responsavel = form.find('input[name="responsavel"]').val(); // Restringindo os dados JSON enviados var jsonData = { action: 'mesa_reserva', mesa_id: mesaId, nome: nome, telefone: telefone, responsavel: responsavel }; // Criando uma requisição AJAX $.ajax({ type: 'POST', url: ajax_request_url, data: JSON.stringify(jsonData), contentType: 'application/json', dataType: 'json', success: function(response) { if (response.success) { form.hide(); $('.mesa-reserva-button[data-mesa-id="' + mesaId + '"]').addClass('reservado'); } else { alert('Erro ao reservar a mesa: ' + response.data); } }, error: function(xhr, status, error) { console.error('Erro ' + xhr.status + ': ' + xhr.statusText); } }); }); });````
TurboCommerce make the better internet purchasing globaly

Turbo Multi-language Translator

Make the better internet purchasing globaly

Turbosify SEO Speed Booster

5.0 (7) Free plan available
Get better conversions by improving store loading speed Installed

Turbo Multi-language Chat - AI Customer service in one hand

TurboCommerce make the better internet purchasing globaly
Our products

The help you need, when you need it

App by Turbo Engine

3 apps • 5.0 average rating

Turbosify Speed Booster

5.0 (7)
Get better conversions by optimizing shopify store Google page speed Installed

Turbosify Translator for Wordpress Woocommerce

5.0 (74) Free Wordpress Woocommerce Plugin
Translate your wordpress website to multiple language within 1 click, no configuration needed, no No technical required

Grow your business here

Whether you want to sell products down the street or around the world, we have all the tools you need.