首页 > 解决方案 > 如何通过ajax发布数据然后使用查询

问题描述

我正在尝试使用 swal 和 ajax 从下拉列表中发布活动菜单项。因此,当我按下一个按钮时,swal 函数被调用,如果我指定应该删除哪个记录,查询实际上会起作用,但是当我尝试使用 post var 时,没有任何反应。恢复,它是一个从数据库中删除图像的按钮,其中 id 是活动菜单项。我已经搜索了很多关于如何使用 ajax 语法来发布数据,但我无法让它工作,所以我去了这里。

管理员.php

<button type="button" class="btn btn-danger" onclick="rmv_banner()">Remover</button>
if (isset($_SESSION['taskOption'])) { $_SESSION['taskOption'] = $_POST['taskOption']; }?>

到目前为止的功能:

function rmv_banner(){
swal({
     title: 'Remover este banner ativo?',
      showCancelButton: true,
      confirmButtonText: 'Sim, pode remover!',
      cancelButtonText: 'Cancelar',
      text: 'Essa ação não poderá ser desfeita.',
      type: 'warning',
      confirmButtonColor: '#F54400',
      showLoaderOnConfirm: true,
      preConfirm: ()=>{
            $.ajax({
                url: 'rmv_b.php',
                method: 'POST',
                data:{},
                success: function(resp)
                      {
                        if(resp) return 'ok',
                          swal(
                            'Banner Removido!',
                            'Este banner foi removido dos ativos com sucesso!',
                            'success'
                          ).then(function() {
                            location.href = 'admin.php';
                          });
                      }
            })
          }
    })
};

rmv_b.php

<?php
session_start();
include_once('includes/conexao.php');

if (isset($_POST['taskOption'])){
    //Deleta o banner do disco
    $apaga_fisico = mysqli_query($conexao, "SELECT banner_imagem FROM esc_slider WHERE banner_id = '" . $_POST['taskOption'] . "'"); 
    $fetch_imagem = mysqli_fetch_row($apaga_fisico);
    $caminho_imagem = "images/slider/" . implode($fetch_imagem);
    unlink($caminho_imagem);
    //Deleta o diretório do banner no bando de dados
    $apaga_banco = mysqli_query($conexao, "DELETE FROM esc_slider WHERE banner_id = '" . $_POST['taskOption'] . "'"); 
    mysqli_query($conexao, $apaga_banco);
    header('location:admin.php');
    exit;
}
?>

我应该在“数据:{}”中添加一些东西吗?

更新: rmv_b.php 中的 if 语句没有被执行

标签: phppostmysqlidrop-down-menu

解决方案


从jquery docs

$.ajax({
  method: "POST",
  url: "some.php",
  data: { taskOption: "someOption" }
})

您正在发送不带参数的 http post 请求


推荐阅读