【问题标题】:How to send a request to a file php using jQuery.ajax如何使用 jQuery.ajax 向文件 php 发送请求
【发布时间】:2014-08-04 22:44:25
【问题描述】:

我有两个按钮:一个用于在我的数据库中创建一个表,另一个用于删除该表,但是当我单击“删除表”按钮时,显示的消息是:“错误创建表:表'发布'已经存在",因为它进入了第一个 if on php 文件。我找不到如何解决这个问题。

这是我的代码:

html

<button id="loadButton" type="button" class="btn btn-success" style="margin-top:5px;">Create Table</button>
<button id="deleteButton" type="button" class="btn btn-danger" style="margin-top:5px;">Drop Table</button>

dash.js 文件

$('#loadButton').click(function() {
    $.ajax({
        url: 'connectdb.php',
        success: function(data){
            alert(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('Error: ' + textStatus);
        }
    });
});
$('#deleteButton').click(function() {
    $.ajax({
        type: 'POST',
        url: 'connectdb.php',
        data: "drop",
        success: function(data){
            alert(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('Error: ' + textStatus);
        }
    });
});

connectdb.php 文件

// Create table
$sql="CREATE TABLE Post( 
    id_post int Primary Key, 
    titulo varchar(100) not null, 
    imagem longblob,
    descricao varchar(1000) not null,
    hashtag varchar(100) not null
)";

// Execute query
if(!isset($_POST["drop"])){
if (mysqli_query($con,$sql)) {
  echo "Table created with success";
} else {
  echo "Error create table: " . mysqli_error($con);
}
}

if (isset($_POST["drop"])) {
    $sql1="DROP TABLE IF EXISTS Post;";
    if (mysqli_query($con,$sql1)) {
        echo "Table deleted";
    } else {
        echo "Error: " . mysqli_error($con);
    }
}

我做错了什么?

【问题讨论】:

  • 你发送的是一个值,而不是一个键 -> data: "drop",。试试data: {drop:'drop'}。虽然像这样创建/删除表不是一个好主意。
  • 感谢它有效:)... 为什么你说创建/删除这样的表不是一个好主意?以后我会手动创建表
  • 为了安全起见,您需要确保您的connectdb.php 受密码保护,否则任何人都可以通过直接访问该网址来删除您的表格。
  • 啊,好吧!你是对的,所以任何人都可以进行 sql 注入。我会听从你的建议:)。谢谢。

标签: javascript php jquery mysql ajax


【解决方案1】:

您没有发送邮政价值。它应该是这样的:

$('#deleteButton').click(function() {
    $.ajax({
        type: 'POST',
        url: 'connectdb.php',
        data: { drop: "Drop value that you need"}
        success: function(data){
            alert(data);
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('Error: ' + textStatus);
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    相关资源
    最近更新 更多